Notify mit Elsif

Begonnen von Tardar, 11 August 2018, 20:10:15

Vorheriges Thema - Nächstes Thema

Tardar

Hi zusammen,

ich habe 2 PIR von Sonoff hier mit denen ich Licht in der Küche und im Flur steuern möchte.
Mein notify:


Internals:
   DEF        SonoffRF:RfReceived_Data.*

IF ($EVTPART1 == "E18A2E")
(set Eingang on-for-timer 30, set Flur on-for-timer 30)
ELSE (
IF ($EVTPART1 == "E1C5AE")
(set HUEDevice2 on-for-timer 30)
)
   NAME       RFEvents
   NOTIFYDEV  SonoffRF
   NR         108
   NTFY_ORDER 50-RFEvents
   REGEXP     SonoffRF:RfReceived_Data.*
   STATE      2018-08-11 20:06:22
   TYPE       notify
   READINGS:
     2018-08-11 20:06:15   state           active
Attributes:
   alias      LichtFlurKuecheMitBewegungsmelder
   room       09_EingangFlur,MQTT


Leider schalten sich die Lampen nicht ein, wenn einer der Bewegungsmelder "Signal" geben.

Hat jemand eine Idee ? :)

rudolfkoenig

Dieser Beitrag gehoert ins DOIF Bereich, bitte verschieben, oder da einen neuen Beitrag oeffnen.
Was ich als IF/DOIF Laie(!) komisch finde ist ==, in perl ist das ein Zahlenvergleich. Fuer Stringvergleich muss man eq verwenden.

Otto123

#2
In der DEF nach dem regEx mit einem Zeilenumbruch zu beginnen und eine Leerzeile einzufügen ist glaube ich keine gute Idee. Zwischen dem * und dem IF gehört mindest ein Leerzeichen, dort stehen aber zwei LF.
Also nicht:
   DEF        SonoffRF:RfReceived_Data.*

IF ($EVTPART1 == "E18A2E")
sondern   DEF        SonoffRF:RfReceived_Data.* IF ($EVTPART1 eq "E18A2E") ...


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