Bewegungsmelder für Licht Phantom Schaltung

Begonnen von jay-jey, 19 Oktober 2019, 10:56:28

Vorheriges Thema - Nächstes Thema

jay-jey

Hallo,

ich hoffe ich bin hier richtig, ansonsten bitte ich um Entschuldigung. Ich habe ein Problem mit meinen Bewegungsmelder im Zusammenhang mit einem Doif. Das Problem ist, dass das Licht auch immer wieder mal angeht auch wenn keiner im Flur steht. Ich weiß nicht wo ich noch suchen soll. Ich habe für letzte Nacht einfach mal einen Trend angelegt. Wenn ich diesen nun richtig interpretiere schaltet das doif periodisch das Licht an obwohl gar keine Bewegung da ist (Trend im Anhang). Bitte korrigiert mich, aber das Reading "cmd" gibt doch an welche von den beiden Aktionen ausgeführt wird. Also cmd 1.1 wäre die Erste und cmd 1.2 die Zweite.
Was habe ich wieder übersehen? Ist halt etwas nervig weil der Flur an mein Schalfzimmer grenzt.

hier ein List von dem  doif:

Internals:
   DEF        ([0x00158d00031b4dca:occupancy] and [0x00158d00031b4dca:illuminance] < 25) (set HUEGroup5 on) (set HUEGroup5 off)
   FUUID      5da5c2de-f33f-6fd6-167a-66a878aac5397e03
   MODEL      FHEM
   NAME       LichtAnFlur_2
   NR         352
   NTFY_ORDER 50-LichtAnFlur_2
   STATE      cmd_1_1
   TYPE       DOIF
   VERSION    19786 2019-07-05 21:47:08
   Helper:
     DBLOG:
       cmd:
         DBLogging:
           TIME       1571474861.17389
           VALUE      1.1
       cmd_event:
         DBLogging:
           TIME       1571474861.17389
           VALUE      0x00158d00031b4dca
       cmd_nr:
         DBLogging:
           TIME       1571474861.17389
           VALUE      1
       cmd_seqnr:
         DBLogging:
           TIME       1571474861.17389
           VALUE      1
       mode:
         DBLogging:
           TIME       1571473919.15506
           VALUE      enabled
       state:
         DBLogging:
           TIME       1571474861.17389
           VALUE      cmd_1_1
       wait_timer:
         DBLogging:
           TIME       1571474950.89588
           VALUE      19.10.2019 10:52:10 cmd_1_2 0x00158d00031b4dca
   READINGS:
     2019-10-19 10:49:10   Device          0x00158d00031b4dca
     2019-10-19 10:47:41   cmd             1.1
     2019-10-19 10:47:41   cmd_event       0x00158d00031b4dca
     2019-10-19 10:47:41   cmd_nr          1
     2019-10-19 10:47:41   cmd_seqnr       1
     2019-10-19 10:49:10   e_0x00158d00031b4dca_illuminance 4
     2019-10-19 10:49:10   e_0x00158d00031b4dca_occupancy false
     2019-10-19 10:31:59   mode            enabled
     2019-10-19 10:47:41   state           cmd_1_1
     2019-10-19 10:49:10   wait_timer      19.10.2019 10:52:10 cmd_1_2 0x00158d00031b4dca
   Regex:
     accu:
   attr:
     cmdState:
     wait:
       0:
         0
         180
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'0x00158d00031b4dca','occupancy') and ::ReadingValDoIf($hash,'0x00158d00031b4dca','illuminance') < 25
   devices:
     0           0x00158d00031b4dca
     all         0x00158d00031b4dca
   do:
     0:
       0          set HUEGroup5 on
       1          set HUEGroup5 off
     1:
   helper:
     event      linkquality: 5,battery: ok,battery_level: 100,no_motion,occupancy: false,lux: 4,illuminance: 4,voltage: 3025,Statenum: 0
     globalinit 1
     last_timer 0
     sleepdevice 0x00158d00031b4dca
     sleepsubtimer 1
     sleeptimer 0
     timerdev   0x00158d00031b4dca
     timerevent linkquality: 5,battery: ok,battery_level: 100,no_motion,occupancy: false,lux: 4,illuminance: 4,voltage: 3025,Statenum: 0
     triggerDev 0x00158d00031b4dca
     DOIF_eventas:
       cmd_nr: 1
       cmd_seqnr: 1
       cmd_event: 0x00158d00031b4dca
       state: cmd_1_1
     timerevents:
       linkquality: 5
       battery: ok
       battery_level: 100
       no_motion
       occupancy: false
       lux: 4
       illuminance: 4
       voltage: 3025
       Statenum: 0
     timereventsState:
       linkquality: 5
       battery: ok
       battery_level: 100
       state: no_motion
       occupancy: false
       lux: 4
       illuminance: 4
       voltage: 3025
       Statenum: 0
     triggerEvents:
       linkquality: 5
       battery: ok
       battery_level: 100
       no_motion
       occupancy: false
       lux: 4
       illuminance: 4
       voltage: 3025
       Statenum: 0
     triggerEventsState:
       linkquality: 5
       battery: ok
       battery_level: 100
       state: no_motion
       occupancy: false
       lux: 4
       illuminance: 4
       voltage: 3025
       Statenum: 0
   internals:
   itimer:
   readings:
     0           0x00158d00031b4dca:occupancy 0x00158d00031b4dca:illuminance
     all         0x00158d00031b4dca:occupancy 0x00158d00031b4dca:illuminance
   trigger:
   uiState:
   uiTable:
Attributes:
   DbLogInclude cmd
   do         resetwait
   room       Logik
   wait       0,180


Kurze Erklärung zum Trend: blau ist die Meldung vom Bewegungsmelder 0 keine Bewegung 1 Bewegung erkannt. Grün ist das Reading cmd und orange die Helligkeit, weil der Bewegungsmelder ja nur angehen soll wenn es dunkel ist. 

Otto123

Moin,

[0x00158d00031b4dca:occupancy] and [0x00158d00031b4dca:illuminance] < 25

Du fragst einfach ein Reading ab: occupancy - also quasi ob das da ist bzw. ungleich null.
Jede Änderung eines der Readings occupancy und illuminance triggert. Also wenn sich die Helligkeit ändert und occupancy ungleich null ist wird ausgelöst.

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

jay-jey

#2
Danke,

okay das scheint ein Fehler zu sein, aber heute morgen (5:30-7:30) hat sich weder die helligkeit (konstant 7) noch die Bewegung geändert und trotzdem kam es zweimal zum auslösen.

Nochmal zum triggern: Ich hatte es so verstanden, dass wenn ich in einem doif ein "and" verwende beide Bedingungen erfüllt sein müssen, damit es triggert. Ansonsten würde ich ein "or" verwenden. Ist dies nicht korrekt?

edit: verdammt, ich habe da das eq "true" vergessen.

also mein doif sieht jetzt so aus:
   
([0x00158d00031b4dca:occupancy] eq "true" and [0x00158d00031b4dca:illuminance] < 25) (set HUEGroup5 on) (set HUEGroup5 off)

mal sehen ob dies funktioniert

Otto123

Ich würde nur einen Trigger verweden und die andere Bedingung nur abfragen:
([0x00158d00031b4dca:occupancy] eq "true" and [?0x00158d00031b4dca:illuminance] < 25)
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