Hallo zusammen
ich bin an der Änderung meiner Konfiguration meiner Bewegungsmelder. Ich möchte dies nun mit einem DOIF machen und nicht wie bis anhin mit einem notify, dummy und DOIF ;)
Gerne würde ich, wenn eine Bewegung mit einem PIR detektiert wurde und das DOIF dies auf registriert hat, den Status vom DOIF für eine gewisse Zeitspanne auf ein rotes message_presence-Icon setzten. Nach der Zeitspanne soll es wieder weiss werden. Das klappt eigentlich auch soweit ganz gut.
Der Code dazu ist nun dieser:
Internals:
CFGFN
DEF ([MYSENSOR_112:"tripped3:.on"] or [MQTT2_DVES_8F3136:"Data:.2A7440"] and [?MYSENSOR_108:brightness]<5000)
(set XX_motion_Buero_Presence_PIR on-for-timer 20)
(set BU_Lampe_Buero on)
(set BU_Lampe_Buero on)
(set BU_Lampe_Buero off)
FUUID 5ffc8724-f33f-4752-703e-0c622646ab88d739
MODEL FHEM
NAME di_XX_motion_Buero_Presence_PIR
NOTIFYDEV global,MYSENSOR_112,MQTT2_DVES_8F3136
NR 68677
NTFY_ORDER 50-di_XX_motion_Buero_Presence_PIR
STATE cmd_1_3
TYPE DOIF
VERSION 23466 2021-01-03 17:14:46
READINGS:
2021-01-12 20:31:29 Device MYSENSOR_112
2021-01-12 20:29:35 cmd 1.3
2021-01-12 20:29:35 cmd_event MYSENSOR_112
2021-01-12 20:29:35 cmd_nr 1
2021-01-12 20:29:35 cmd_seqnr 3
2021-01-12 20:27:54 e_MQTT2_DVES_8F3136_events UptimeSec: 360916,Time: 2021-01-12T20:27:55,Wifi_Signal: -68,Uptime: 4T04:15:16,Wifi_RSSI: 64
2021-01-12 20:31:29 e_MYSENSOR_112_events tripped3: off
2021-01-12 20:24:25 mode enabled
2021-01-12 20:29:35 state cmd_1_3
2021-01-12 20:31:27 wait_timer 12.01.2021 20:41:27 cmd_1_4 MYSENSOR_112
Regex:
accu:
cond:
MQTT2_DVES_8F3136:
0:
&STATE ^MQTT2_DVES_8F3136$
MYSENSOR_112:
0:
&STATE ^MYSENSOR_112$
attr:
cmdState:
cmdpause:
120
wait:
0:
0
0
20
600
waitdel:
condition:
0 ::EventDoIf('MYSENSOR_112',$hash,'tripped3:.on',1) or ::EventDoIf('MQTT2_DVES_8F3136',$hash,'Data:.2A7440',1) and ::ReadingValDoIf($hash,'MYSENSOR_108','brightness')<5000
do:
0:
0 set XX_motion_Buero_Presence_PIR on-for-timer 20
1 set BU_Lampe_Buero on
2 set BU_Lampe_Buero on
3 set BU_Lampe_Buero off
1:
helper:
DEVFILTER ^global$|^MQTT2_DVES_8F3136$|^MYSENSOR_112$
NOTIFYDEV global|MQTT2_DVES_8F3136|MYSENSOR_112
event tripped3: off
globalinit 1
last_timer 0
sleepdevice MYSENSOR_112
sleepsubtimer 3
sleeptimer 0
timerdev MYSENSOR_112
timerevent tripped3: on
triggerDev MYSENSOR_112
timerevents:
tripped3: on
timereventsState:
tripped3: on
triggerEvents:
tripped3: off
triggerEventsState:
tripped3: off
internals:
readings:
trigger:
all MYSENSOR_112 MQTT2_DVES_8F3136
uiState:
uiTable:
Attributes:
cmdpause 120
devStateIcon cmd_1_1|cmd_1_2:message_presence@red cmd_1_3:message_presence@white cmd_1|initialized:message_presence@white
do resetwait
group Motiondetection
icon icoUhr
room Logik
wait 0,0,20,600
Funktionier soweit, mich stört ein wenig das doppelte Schalten der Lampe.
Gibts da was Eleganteres?
Besten Dank
Thomas
Mach den zweiten "set ... on" einfach leer, also nur
()