Moin,
ich habe mal eine doofe Frage, weil ich nicht verstehe, wieso das doif nicht wie erwartet funktioniert:
(([15:00-23:00] or [07:00-09:00]) and [Umgebungssensor_Fassade_NordSeite:brightness] < 10 )
(set Lampen_Vorgarten on)
DOELSEIF
(set Lampen_Vorgarten off)
Zwischen 15-23 Uhr oder zwischen 7-9 Uhr soll das Device on sein, wenn Brightness in der Zeit < 10
Die Definition ist korrekt.
Wenn es nicht funktioniert, dann wird die Bedingung nicht erfüllt sein - vermutlich die Angabe der Helligkeit.
Hallo Damian
Muss eventuell das Attribut "do always" gesetzt werden falls die Bedingung erst beim zweiten oder späteren Triggern wahr wird?
Gruß Ralf
Zitat von: RalfRog am 21 Februar 2024, 10:47:00Hallo Damian
Muss eventuell das Attribut "do always" gesetzt werden falls die Bedingung erst beim zweiten oder späteren Triggern wahr wird?
Gruß Ralf
Ich glaube, es lag daran, das ich in Umgebungssensor_Fassade_NordSeite zwar einen event-min-interval .*:300 gesetzt hatte, aber kein event-on-change-reading :* - das habe ich jetzt mal nachgeholt
Ein DOELSEIF ohne Bedingung finde ich auch seltsam... ;)
EDIT: oder ja, DOELSEIF mit "eigenartiger" Bedingung :D
Gruß, Joachim
Zitat von: MadMax-FHEM am 21 Februar 2024, 11:35:15Ein DOELSEIF ohne Bedingung
ist das nicht ohne Ausführungsteil? Sollte das nicht Fehlermeldungen geben?
Zitat von: Damian am 21 Februar 2024, 08:31:04Die Definition ist korrekt.
Ich finde eher: die Definition ist falsch. ;) zumindest könnte ich nicht vorhersagen was passieren sollte.
Liest DOIF die Klammer als Bedingung, die ist wahr weil "gefüllt" und es wird nichts ausgeführt. Oder liest DOIF die fehlende Bedingung als wahr und führt den Ausführungsteil einfach aus? Sonst würde ja das Licht nicht mehr ausgehen.
Kai-Alfonso schreibt ja in #3 so, als ob es jetzt funktioniert. Die Aussage aus #1 "funktioniert nicht" ist leider nicht klar: geht nicht an oder geht nicht aus? ;D
stimmt, da sollte DOELSE statt DOELSEIF stehen, sonst wird der Ausführungsteil als Bedingung genommen - das habe ich übersehen,
Falls es dann prinzipiell funktioniert noch als Ergänzung: Je nachdem wie "gedämpft" der Sensor ist, empfiehlt sich eventuell noch eine Verzögerung mit wait, damit im Übergangsbereich nicht ständig das Licht an und ausgeht. z.B. 10 min: wait 600:600
Zitat von: Damian am 21 Februar 2024, 13:39:53stimmt, da sollte DOELSE statt DOELSEIF stehen, sonst wird der Ausführungsteil als Bedingung genommen - das habe ich übersehen,
Ich auch und gleich mal geändert - war einfach macht der Gewohnheit, da ich meistens auch mit Bedingungen im zweiten Teil arbeitet
Leute, danke noch mal für die Unterstützung. Hatte da wohl tatsächlich ein Brett vorm Kopf ;-)
Jetzt funktioniert es wie erwartet