Kuschelig2.0: Unterschied zwischen den Versionen

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 17: Zeile 17:
Die Raumtemperatur wird an dem Temperatursensor gemessen der über dem Tisch von der decke hängt.
Die Raumtemperatur wird an dem Temperatursensor gemessen der über dem Tisch von der decke hängt.


Wenn die Tür vom Noklab abgeschlossen wird (nicht wenn sie bereits abgeschlossen ist) wird die Zieltemperatur auf 14°C gesetzt.
Wenn die Tür vom Noklab abgeschlossen wird (nicht wenn sie bereits abgeschlossen ist) wird die Zieltemperatur auf 14°C gesetzt. Dies erfordert allerdings, dass auf der entsprechende Türstatus-Abfrage Service auf brickme läuft. Fällt der aus, wird der Space immer als geschlossen interpretiert, was die automatische Abschaltung beim Übergang von offen nach geschlossen aushebelt.


== Elektronik ==
== Elektronik ==
Zeile 24: Zeile 24:
bei [[Kuschelig]] zum Einsatz kamen.
bei [[Kuschelig]] zum Einsatz kamen.
Sowohl das Thermostat und die Sensoren als auch der Raspberry-Pi werden über die 5-Volt und Masse Leitung der Onewire-Verbindung mit Strom versorgt.
Sowohl das Thermostat und die Sensoren als auch der Raspberry-Pi werden über die 5-Volt und Masse Leitung der Onewire-Verbindung mit Strom versorgt.
== Software ==
Türstatus-, Sensorabfrage und -Logging sowie die Auslösung der Boost-Funktion des Heizungsventils geschieht über die Skripte <code>/bin/therm*</code> auf pyro, die über die crontab vom Benutzer root regelmäßig gestartet werden. Auf pyro läuft auch irgendwo der XMPP-Bot. Allerdings weiß ich (esgeh) nicht wo der entsprechende Python-Code liegt. Das müsste hier mal von schlaueren Leuten ergänzt werden.
== TODO ==
* Der Bot fliegt noch regelmäßig aus dem MUC raus.
* Bessere Fehlerbehandlung: Beispielsweise wird die Abschaltautomatik ohne irgendeine Art der Beschwerde ausgehebelt, wenn der Türstatus-Service nicht läuft. Wir müssten uns mal überlegen, wie wir solche Fehler sichtbar machen können.

Version vom 8. November 2014, 00:54 Uhr

Kuschelig 2.0 soll die alte Heizungssteuerung ersetzen und auf einem Raspberry Pi laufen. Zur Ansteuerung der Thermostate und zum auslesen der Temperatursensoren werden Linux Kernelmodule für Onewire verwendet. Die Steuerung soll weiterhin mit einem Jabberbot möglich sein. Dieser soll aber direkt auf dem Raspberry Pi laufen und ist mit SleekXMPP in Python implementiert.

Heizungssteuerung

Die Heizung kann über den Jabber bot mit der Jabber ID bot@paws.de oder alternativ aus dem MUC gesteuert werden. Die für die Heizungssteuerung relevanten befehle sind !kuschelig und !status.

Kuschelig nimmt eine Gleitkommazahl zwischen 8 und 24 als Argument und setzt diesen Wert (in °C) als Zielwert für die Heizungssteuerung ein. Status gibt die aktuelle Temperatur im Space und die eingestellte Zieltemperatur zurück. Momentan ist keine Authentifizieren nötig um die Heizung zu steuern das wird sich aber in Zukunft vielleicht ändern.

Solange die Raumtemperatur geringer als die Zieltemperatur ist wird die Heizung in 6 Minuten Intervallen für 5 Minuten voll aufgedreht. Die Raumtemperatur wird an dem Temperatursensor gemessen der über dem Tisch von der decke hängt.

Wenn die Tür vom Noklab abgeschlossen wird (nicht wenn sie bereits abgeschlossen ist) wird die Zieltemperatur auf 14°C gesetzt. Dies erfordert allerdings, dass auf der entsprechende Türstatus-Abfrage Service auf brickme läuft. Fällt der aus, wird der Space immer als geschlossen interpretiert, was die automatische Abschaltung beim Übergang von offen nach geschlossen aushebelt.

Elektronik

Die Heizung wird von einem Raspberry-Pi über Onewire gesteuert dabei werden die Sensoren und das Thermostat verwendet die schon bei Kuschelig zum Einsatz kamen. Sowohl das Thermostat und die Sensoren als auch der Raspberry-Pi werden über die 5-Volt und Masse Leitung der Onewire-Verbindung mit Strom versorgt.

Software

Türstatus-, Sensorabfrage und -Logging sowie die Auslösung der Boost-Funktion des Heizungsventils geschieht über die Skripte /bin/therm* auf pyro, die über die crontab vom Benutzer root regelmäßig gestartet werden. Auf pyro läuft auch irgendwo der XMPP-Bot. Allerdings weiß ich (esgeh) nicht wo der entsprechende Python-Code liegt. Das müsste hier mal von schlaueren Leuten ergänzt werden.

TODO

  • Der Bot fliegt noch regelmäßig aus dem MUC raus.
  • Bessere Fehlerbehandlung: Beispielsweise wird die Abschaltautomatik ohne irgendeine Art der Beschwerde ausgehebelt, wenn der Türstatus-Service nicht läuft. Wir müssten uns mal überlegen, wie wir solche Fehler sichtbar machen können.