Hallo,
das List sieht so aus wie erwartet:
0 if (::InternalDoIf($hash,'bewohner','STATE') eq "abwesend" and ::ReadingValDoIf($hash,'structure.fenster.keller','state') eq "geschlossen" and ::ReadingValDoIf($hash,'structure.fenster.eg','state') eq "geschlossen" and ::ReadingValDoIf($hash,'structure.fenster.og','state') eq "geschlossen" and ::ReadingValDoIf($hash,'structure.fenster.dg','state') eq "geschlossen") {fhem("msg audio \@sonos.arbeitszimmer 20 |gong.mp3|Alle Fenster sind geschlossen");; }
1 if (::InternalDoIf($hash,'bewohner','STATE') eq "abwesend" and ::ReadingValDoIf($hash,'structure.fenster.keller','state') eq "offen" and ::ReadingValDoIf($hash,'structure.fenster.eg','state') eq "geschlossen" and ::ReadingValDoIf($hash,'structure.fenster.og','state') eq "geschlossen" and ::ReadingValDoIf($hash,'structure.fenster.dg','state') eq "geschlossen") {fhem("msg audio \@sonos.arbeitszimmer 20 |gong.mp3|Es ist noch mindestens ein Fenster im Keller geoeffnet");; }
Wenn ich
{fhem("msg audio \@sonos.arbeitszimmer 20 |gong.mp3|Es ist noch mindestens ein Fenster im Keller geoeffnet");; }
in die Befehlszeile kopiere und ausführe, ertönt die gewünschte Ansage. Wenn ich block_01 im DOIF ausführe, passiert nichts (außer "executed" in den Readings).