DOIF schaltet keine UND Verknüpfung

Begonnen von weider, 04 Januar 2018, 00:46:17

Vorheriges Thema - Nächstes Thema

weider

Guten Abend zusammen,

ich habe folgendes Problem:

Es soll ein Aktor angesteuert werden wenn A) Der Bewegungsmelder auslöst und B) in der Zeit von 23:00 - 06:00 Uhr

ich habe schon folgendes DOIF / DEF angelegt:

([23:00 - 06:00] and [BWM:motion]) (set FL.Licht on-for-timer 30) DOELSE ()

Allerdings wird der Aktor Nicht angesteuert.

Habe es genauso, wie es in der DOIF Beispielanleitung steht gemacht.

Grüße

Otto123

Hi,

der Ausdruck [BWM:motion] müsste wahr sein, damit es funktioniert. Dieser Ausdruck liefert aber das reading motion von BWM. Das ist wahrscheinlich etwas anderes als true (1)
Du könntest einen Vergleich machen.  [BWM:motion] eq "on" falls motion on liefert.  :D

Ich habe einen Homematic BWM PIR1 und mit dem mache ich den Trigger so: [PIR1:"motion:.on"]
Weitere Erklärung siehe Doku https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events

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

weider

#2
Hallo,

vielen Dank schon einmal für die schnelle Antwort.

Das kuriose daran ist, wenn ich ein Notify mit dem Befehl BWM:motion erzeuge, schaltet das Licht, wenn Bewegung erkannt wurde. In dem DOIF leider nicht.
Kann ich denn irgendwie herausfinden, welchen Befehl ich aus dem BWM übernehmen kann?
Es handelt sich um den HUE Bewegungsmelder.

Ich probierer mal fix dein Code aus.

Danke schonmal

EDIT: So hab es jetzt einmal mit dem Befehl BWM:"on" probiert und siehe da, es funktioniert!
Allerdings ist mir aufgefallen, sobald keine Bewegung mehr vorhanden ist "nomotion" wird der Befehl Set Licht...erneut ausgeführt

Otto123

Hi,

Du musst den generellen Unterschied zwischen notify und DEINEM DOIF verstehen:
notify triggert auf den Event und zwar auf das regEx was Du schreibst. Mag sein, dass BWM:motion ein gültiges regEx ist.
DOIF triggert auf einen Event in dem Device und wertet anschließend das reading motion aus. Du gehst allerdings bei DEINER Auswertung davon aus, dass motion true ist! Ist es aber nicht.
BWM:"on" ist etwas völlig anderes als BWM:motion - Erklärung steht in der Doku von DOIF.

ZitatKann ich denn irgendwie herausfinden, welchen Befehl ich aus dem BWM übernehmen kann?

Der Eventmonitor hilft Dir hier sogar beim erzeugen des richtigen Codes.
https://wiki.fhem.de/wiki/Event_monitor

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