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