Warnung bei vollem Entfeuchter

Mithilfe einer zusätzlichen Systemvariablen wird nur eine E-Mail für meinen feuchten Keller versendet

4223 Zeichen
Score aktualisiert
100%
Code: 23c529b28d56409a8e74b01f0515d896
Token in Entwicklung nicht aktualisiert
img-Tag in Entwicklung deaktiviert

Ich lasse ja meinen Keller von der HomeMatic entfeuchten – aber was ist, wenn der Entfeuchter voll ist? Dann springt das Gerät nicht mehr an und die Luftfeuchtigkeit steigt …

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.

Einfaches Programm

Mit einem einfachen WebUI-Programm kann ich mich darüber informieren lassen, wenn die Luftfeuchtigkeit einen vorgegebenen Grenzwert überschreitet.

Sobald die Luftfeuchtigkeit größer als 52 % ist, also außerhalb des Bereichs, den mein Entfeuchter-Script einhält, bekomme ich eine E-Mail.

Natürlich wähle ich hier „bei Änderung auslösen“, damit ich nur in dem Moment eine E-Mail bekomme, in dem die Luftfeuchtigkeit überschritten ist. „Bei Aktualisierung“ würde bedeuten, dass ich alle 3 Minuten eine E-Mail bekomme, solange die Luftfeuchtigkeit größer als 52 % ist.

Eine E-Mail reicht

Selbst „bei Änderung“ kann nicht verhindern, in kurzer Zeit viele E-Mails zu erhalten: Wenn die Luftfeuchtigkeit um den vorgegebenen Wert schwankt, wird jedes Mail eine E-Mail gesendet Wenn ich z. B. im Haushaltskeller Wäsche aufhänge, die ordentlich Feuchtigkeit produziert, dann schwankt die Luftfeuchtigkeit gelegentlich um den Grenzwert. Jedes Mal, wenn die Luftfeuchtigkeit in den Abtau-Phasen des Entfeuchters kurz ansteigt, bekomme ich eine neue E-Mail, auch wenn er sie kurz danach wieder unter den Grenzwert drückt.

Der Plan lautet also, eine Hysterese zu programmieren: Bei Grenzwertüberschreitung bekomme ich eine E-Mail, aber danach ist erst mal Ruhe, bis der Entfeuchter den Keller wirklich wieder trockengelegt hat.

Systemvariable

Wie immer beginne ich mit meiner Systemvariablen, in der der Status festgehalten wird.

Die Systemvariable Haushaltskeller Feuchtigkeit ueberschritten ist ein Logikwert mit den Zuständen E-Mail und keine E-Mail.

Man kann sie einem Kanal zuweisen, zum Beispiel dem Schaltaktor, der den Entfeuchter steuert, dann wird der Zustand direkt beim entsprechenden Kanal in der WebUI angezeigt. Allerdings ist das wohl nicht so spannend: Wenn die Variable auf E-Mail steht, dann sieht man das schließlich im Postfach. Also: bei mir keine Zuordnung.

Die Programmlogik übernehmen zwei WebUI-Programme.

Feuchtigkeit überprüfen

Das erste Programm wird ausgeführt, wenn die Feuchtigkeit meine beiden Grenzwerte über- bzw. unterschreitet.

Nicht so gut zu erkennen: Bei beiden Bedingungen ist bei Änderung auslösen ausgewählt. Gemäß der Logik der WebUI-Programme spielt das hier allerdings keine so maßgebliche Rolle: Das Programm sollte auch bei Aktualisierung funktionieren – es läuft dann halt meistens unnötig.

Wenn …

Feuchtigkeit > 52 %

Ich habe es gern trocken im Keller, weil dort auch meine Eisenbahn haust. Darum wird die Luftfeuchtigkeit bei etwa 50 % gehalten. Steigt sie auf 52 %, habe ich entweder Wäsche aufgehängt oder der Entfeuchter ist voll.

Für letzteren Fall soll eine E-Mail gesendet werden, also wird die Systemvariable auf E-Mail gesetzt.

Sonst, wenn …

Feuchtigkeit < 50 %

49 % erreicht mein Keller locker, wenn der Entfeuchter seinen Dienst tut – aber nur dann. Das ist also ein praktikabler Wert, um den E-Mail-Versand wieder „unscharf“ zu schalten: Die Systemvariable wird auf keine E-Mail gesetzt.

Wenn der Wert um den oberen oder unteren Grenzwert schwankt, wird die Systemvariable wiederholt gesetzt. Das ist aber kein Problem, wie man im nächsten Abschnitt sieht.

E-Mail senden

Das zweite WebUI-Programm kümmert sich um den E-Mail-Versand und sieht ziemlich genauso aus wie das Originalprogramm.

Wenn Haushaltskeller Feuchtigkeit ueberschritten vom ersten WebUI-Programm auf E-Mail gesetzt wird, versendet die CCU über das Mini-Framework die Benachrichtigung.

Hier ist die Auswahl bei Änderung auslösen tatsächlich wichtig. Wie oben beschrieben, kann es passieren, dass die Systemvariable mehrfach mit demselben Wert gesetzt wird. Also wenn die Luftfeuchtigkeit um 52 % schwankt, setzt das erste Programm sie immer wieder auf E-Mail, ohne sie zwischendurch auf keine E-Mail zu setzen.

Durch bei Änderung auslösen wird in diesen Fällen keine wiederholte E-Mail gesendet. Nur wenn die Variable zwischenzeitlich auf keine E-Mail stand, ist das Programm wieder „scharf“ und kann mich erneut vor einem feuchten Keller beschützen.

Navigation