FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Kai-Alfonso am 21 Februar 2024, 08:12:20

Titel: Dummy AND und OR Frage
Beitrag von: Kai-Alfonso am 21 Februar 2024, 08:12:20
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

Titel: Aw: Dummy AND und OR Frage
Beitrag von: Damian am 21 Februar 2024, 08:31:04
Die Definition ist korrekt.

Wenn es nicht funktioniert, dann wird die Bedingung nicht erfüllt sein - vermutlich die Angabe der Helligkeit.
Titel: Aw: Dummy AND und OR Frage
Beitrag von: RalfRog am 21 Februar 2024, 10:47:00
Hallo Damian

Muss eventuell das Attribut "do always" gesetzt werden falls die Bedingung erst beim zweiten oder späteren Triggern wahr wird?

Gruß Ralf
Titel: Aw: Dummy AND und OR Frage
Beitrag von: Kai-Alfonso am 21 Februar 2024, 10:53:38
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
Titel: Aw: Dummy AND und OR Frage
Beitrag von: MadMax-FHEM am 21 Februar 2024, 11:35:15
Ein DOELSEIF ohne Bedingung finde ich auch seltsam... ;)

EDIT: oder ja, DOELSEIF mit "eigenartiger" Bedingung :D

Gruß, Joachim
Titel: Aw: Dummy AND und OR Frage
Beitrag von: Otto123 am 21 Februar 2024, 13:22:14
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
Titel: Aw: Dummy AND und OR Frage
Beitrag von: Damian am 21 Februar 2024, 13:39:53
stimmt, da sollte DOELSE statt DOELSEIF stehen, sonst wird der Ausführungsteil als Bedingung genommen - das habe ich übersehen,
Titel: Aw: Dummy AND und OR Frage
Beitrag von: Otto123 am 21 Februar 2024, 13:57:23
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
Titel: Aw: Dummy AND und OR Frage
Beitrag von: Kai-Alfonso am 21 Februar 2024, 14:21:14
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
Titel: Aw: Dummy AND und OR Frage
Beitrag von: Kai-Alfonso am 22 Februar 2024, 07:51:32
Leute, danke noch mal für die Unterstützung. Hatte da wohl tatsächlich ein Brett vorm Kopf ;-)

Jetzt funktioniert es wie erwartet