Mir geht es nicht um eine Copy/Paste Lösung, sondern ich möchte das Umsetzungsmuster besprechen. Im genannten Code kann ich die noch nicht entdecken.
Ein Aquara Luftfeuchtigkeitssensor steuert über seine Änderungstrigger innerhalb von zwei Schaltschwellen das Sonoff-Relais des Luftentfeuchters (dieser ist einfach auf 40% RH fest eingestellt, läuft also praktisch so lange wie er Strom hat, denn weiter runter bekommt er die nicht). Die AN-Schaltschwelle ist bei >65% und die AUS bei <50%. Ich hoffe darauf das der Aquara-Sensor nicht “prellt”, also eine gewisse Hysterese besitzt (1-3%), ggf. kann man das ja auch einstellen?
Damit läuft die Automation ja grundsätzlich ,wenn auch nicht perfekt, denn wenn unter gewissen Umständen der Trigger nicht ausgelöst wurde (Funk- oder Batterieproblem am Sensor) dann wird darauf noch nicht reagiert. Ich glaube hier müsste ich eine Überwachungsautomation bauen die prüft ob der Sensor “available” ist, oder ob die Automation AN schon zu lange läuft (>4 Stunden) um das System dann zu verriegeln.
Und jetzt kommen wir zum Türkontakt (). Dieser Steuert aktuell mit zwei Automationen die Beleuchtung des Kellerraumes, wie im Kühlschrank, Tür auf=Licht an, Tür zu=Licht aus.
Wenn nun die Luftentfeuchtung läuft (getriggert durch eine Änderung der RH>65%) und jemand öffnet die Tür und lässt diese längere Zeit auf (sagen wir 5 Minuten), dann möchte ich den Luftentfeuchter stoppen (weil es nichts bringt) bzw. gar nicht erst starten lassen, falls bei geöffneter Tür die RH über die Schaltschwelle steigt.
Umgekehrt, wenn die Tür wieder geschlossen wird soll der letzte Zustand der Entfeuchter-Automation wiederhergestellt werden. War diese aus, bleibt sie aus, war diese an, geht sie wieder an.
Mir ist klar das der Luftsensor die Automation bei Änderung immer wieder triggert, also nicht nur einmal beim durchschreiten des Schwellwertes. Die Änderungsrate ist jedoch gering und es würde wohl eine ganze Weile dauern bis die Automation wieder gestartet würde.
Ich weiß nicht ob mein Denkansatz falsch ist, aber ich hatte es so verstanden das die Trigger dazu dienen die Automation aufzurufen. Ein Trigger kann jetzt ein Device oder mehrere Devices oder auch ein Timer sein? In diesem Fall würde ich neben dem Luftsensor auch den Türsensor als Trigger einsetzen.
In der Bedingung dann abfragen ob die Tür zu war (also sich der Status nicht geändert hat) oder geschlossen wurde (Automation war angehalten, soll aber fortgesetzt werden).
Was dann noch fehlen würde wären die Sicherheitsüberwachungen, also Luftentfeuchter läuft zu lange, oder Sensoren sind nicht mehr verfügbar.