Kontrollierter Neustart

Nach dem Neustart der CCU wird die Heizung in einen definierten Anfangszustand gesetzt

2606 Zeichen
Score aktualisiert
100%
Code: 8abe6fbfe4c747f9a6c49d5c88e9a982
Token in Entwicklung nicht aktualisiert
img-Tag in Entwicklung deaktiviert

Wenn die CCU neustartet – sei es durch die WebUI, durch Firmware-Updates, Add-on-Installation oder auch nach einem Stromausfall – haben alle Variablen ihre zuletzt gespeicherten Werte, Geräte haben keinen Timestamp, Schaltzustände fehlen oder sind nicht korrekt, … Kurz: Chaos.

Es ist darum eine gute Idee, beim Neustart der CCU alles, was einem wichtig ist, auf einen definierten Zustand zurückzusetzen.

Diesmal denke ich daran, bevor die Installation so gewachsen ist, dass ich jede Kontrolle verliere.

Benennung von Systemvariablen

Prinzipiell kann man Systemvariablen – so wie allen Objekten in der CCU – beliebige Namen geben, also z. B. auch Umlaute und Sonderzeichen verwenden. Ich empfehle jedoch, sich auf reguläre Buchstaben (a-z, A-Z) zu beschränken: Bei Umlauten und Sonderzeichen besteht die Gefahr, dass Systemvariablen in Scripten nicht überall gefunden werden.

Hallo erstmal

Das erste Programm dient nur der Information und sendet über das T-Framework und Telegram eine Nachricht, wenn die CCU bootet.

Einfacher geht es praktisch nicht: Das Programm hat keine Bedingungen; das heißt entsprechend der Logik von WebUI-Programmen, dass es bei jedem Neustart der CCU ausgeführt wird – sonst nie.

Alles, was das Programm macht, ist die Systemvariable Telegram mit einer passenden Nachricht zu füllen.

Alles auf Anfang

Auch das zweite Programm wird ohne Bedingung und damit nur beim Systemstart ausgeführt.

Erstmal macht das Programm nichts, damit andere Prozesse beim Systemstart ihr Ding machen können.

Nach 30 Sekunden wird der Brenner ausgeschaltet. Wenn die CCU wegen eines Stromausfalls neustartet, dann ist natürlich auch der Brenner aus, aber bei anderen Ursachen kann es sein, dass der Brenner weiterläuft, die CCU nicht den richtigen Status hat, die Timestamps nicht passen … allein der Gedanke!

Darum: Einmal draufhauen.

Erwähnte ich, dass ich mein Brennerscript nicht durcheinanderbringen wollte und den Aktor daher niemals manuell schalten lasse? Soviel dazu.

Weitere 30 Sekunden später werden alle Systemvariablen auf absenken gesetzt. Wenn wir abwesend sind, dann haben sie danach den richtigen Zustand – wenn wir anwesend sind, können wir einfach auf den Knopf drücken, um die Heizung wieder einzuschalten.

Script-Ballett

Alle Programme und Scripte zusammen – Telegram-Framework, Heizungsstatus und die Programme auf dieser Seite  – lassen den Verlauf beim Start der CCU leicht nachverfolgen.

Als erstes feuert das erste Script auf dieser Seite.

Danach kommt mit fünf Sekunden Verzögerung die Nachricht über den letzten Status der Systemvariablen und nach zehn Sekunden über den letzten Status des Brenners – wobei es um den letzten Status geht, den die CCU in ihrer Konfiguration gesichert hat, nicht unbedingt den letzten Status vor dem Neustart.

Nach 30 Sekunden wird der Brenner ausgeschaltet und sendet erneut seinen Status. Danach dann schließlich die Systemvariablen, die wiederum ihren Status bestätigen.

Danach wissen alle, was Sache ist.

Navigation