irgendwie verstehe ich scheinbar die Logik hinter den Automationen noch nicht so richtig.
Kann mir jemand auf die Sprünge helfen warum untenstehende Automation nicht funktioniert?
Was soll passieren?
Wenn Kanal 1 ODER Kanal 2 “on” ist soll Kanal 3 “on” geschaltet werden.
Das funktioniert prima!
Der else-Part allerdings will nicht und mir erschließt sich nicht warum:
Wenn Kanal 1 UND Kanal 2 zusammen für min. 10sec “off” sind soll Kanal 3 ebenfalls “off” geschaltet werden.
(Die Zeit von 10sec. ist nur zum testen).
Warum triggert der else-Part nicht?
Problem ist ganz klar der “for 10sec” Part, (ohne geht auch der Part) mir erschliesst sich aber der Grund nicht.
Muss ich das irgendwie anders lösen? Brauche dort einen Nachlauf…
Bin nicht sicher, aber wenn einer deiner Trigger auslöst, kann er die Bedingung (10s off) doch noch gar nicht erfüllen.
Und wenn beide ihn erfüllen könnten, hast du nichts mehr das triggert.
Oder hab ich auch einen Knoten im Hirn?
Irgendwie sowas wird es sein, meine Erwartung wäre eigentlich dass der Timestamp überprüft wird, wenn Kanal 1 “off” geht (für 10sec) und Kanal 2 schon seit 1Std. “off” ist sollte die Bedingung doch erfüllt sein?!
Wenn ich die Automation so umbaue funktioniert sie:
Das Ziel ist:
Kanal 1 + 2 sind Heizungskessel und Pelletofen,
Kanal 3 die Umwälzpumpe der Heizung.
Wenn eins von beiden an ist soll die Pumpe laufen, wenn Kessel und Ofen aus sind soll die Pumpe noch nachlaufen und dann ausschalten.
Mein zweiter Code mit einem delay funktioniert jetzt einwandfrei, ich frage mich nun halt nur wo die „for-time“ Bedingung von nutzen sein kann…
Die zeitliche Überprüfung ist in den Aktionen gar nicht vorgesehen, ist nur in den Bedingungen möglich. Sieht man aber nur wenn man sich die Automationen im Auswahlmenü (Grafische Oberfläche?) anzeigen lässt.
In dem meisten Fällen braucht man For-Time nicht. Nicht desto trotz kann es Automationen geben, bei dem man dies braucht. Das macht die HA-Automationen so mächtig.
Bspw. nutze ich dies für meine „Coming Home“ Automation, wenn geprüft wird, ob die Temperatur für eine gewisse Dauer unter einem Wert liegt, schaltet es die Heizung ein.
Das Problem hier ist dass es ein State Change sein muss der für 10sec erfüllt sein muss… Also von an auf aus und das 10 für 10sec.
Wenn allerdings eine der beiden Heizungen schon seit einer Stunde Off ist, erfüllt sich die Bedingung nicht. Meist gut im Trace nachzuvollziehen.
Lösung: Helper der nach 10sec Off auf einen Zustand wechselt.
Dann brauchst du nur noch diesen Zustand abfragen für die dann Bedingung.
Hoffe das ist verständlich.
Wenn erste Heizung irgendwann abschaltet geht Helper 1 nach 10sec auf Status “aus”. Das gleiche für die 2. Heizung.
Die Abfrage erfolgt dann auf die beiden Helper. Also sind beide auf “aus” dann den 3. Schalter auf “Off”.
Gruss