[gelöst] Probleme bei Notify mit mehreren Bedingungen

Begonnen von ersthelfer, 08 September 2018, 19:04:40

Vorheriges Thema - Nächstes Thema

ersthelfer

Hallo,

ich würde mit FHEM gern mein Dachfenster schließen, wenn es regnet.
Also schnell ein Notify erstellt mit

defmod Wetterstation_notify_1 notify Wetterstation:05_Regen:.1 set Dachfenster windowclose

funktioniert auch  8)
Jetzt möchte ich aber das windowclose nur absetzen, wenn eines der beiden Dachfenster offen ist.
Also das Notify in

defmod Wetterstation_notify_1 notify Wetterstation:05_Regen:.1 and (Wohn_Dachfenster:opened or
Dachfenster:Status:.open) set Dachfenster windowclose


geändert. Das funktioniert aber leider nicht  :-[

Kann mir jemand sagen, was ich falsch mache?

Danke
Andreas

Otto123

Hallo Andreas,

das geht so nicht, ein notify reagiert auf Events, diese können als regExp auch verknüpft werden aber nicht mit logischen Bedingungen. Auch wie Du die Readings angibst ist frei erfunden
Dein Fall geht ev. einfach so zu lösen:
set Dachfenster:FILTER=STATE=open windowclose

Ansonsten musst Du im Ausführungsteil mit Perl {} arbeiten und darin kannst Du mit if () {} deine Abfragen machen. Die Readings kannst Du mit ReadingsVal("Device","Reading","default") abfragen.

Ich lass Dich mal etwas probieren, das schult mehr als die fertige Lösung.   :D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

Diese Syntax ist auch frei erfunden, im Gegensatz zu deiner allerdings funktionsfähig ;)

defmod Wetterstation_notify_2 DOIF {if ([Wetterstation:"05_Regen:.1"] and ([Wohn_Dachfenster] eq "opened" or [Dachfenster] eq "open")) {fhem"set Dachfenster windowclose"}}
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

ersthelfer

Zitat von: Damian am 08 September 2018, 20:54:09
Diese Syntax ist auch frei erfunden, im Gegensatz zu deiner allerdings funktionsfähig ;)

Ja, so klappt es.  :)
Super, vielen Dank