Hallo,
mein folgendes DOIF funktioniert, ich erhalte aber in den Readings eine error Meldung.
Jemand eine Idee was ich ändern könnte?
Danke im Voraus und VG Dieter
DEF (([du_Heizungssteuerung_Wohnzimmer] eq "on" or [du_Heizungssteuerung_Bad] eq "on") and
([du_Google_Homeoffice] eq 1 or [du_Google_Arbeitsfrei] eq 1 or [he] ne "none"))
(set Buderus Programm_A_B B)
DOELSE
(set Buderus Programm_A_B A)
FUUID 5fd4a791-f33f-cd72-90d5-48839f82f4f60701
FVERSION 98_DOIF.pm:0.232350/2020-11-25
MODEL FHEM
NAME di_Heizungssteuerung_Prog_A_B
NOTIFYDEV du_Google_Arbeitsfrei,du_Heizungssteuerung_Bad,he,global,du_Heizungssteuerung_Wohnzimmer,du_Google_Homeoffice
NR 488
NTFY_ORDER 50-di_Heizungssteuerung_Prog_A_B
STATE cmd_2
TYPE DOIF
VERSION 23235 2020-11-25 22:42:28
READINGS:
2020-12-12 13:37:09 cmd 2
2020-12-12 13:37:09 cmd_event di_Heizungssteuerung_Prog_A_B
2020-12-12 13:37:09 cmd_nr 2
2020-12-12 13:37:09 error set Buderus Programm_A_B A: A
2020-12-12 13:37:03 mode enabled
2020-12-12 13:37:09 state cmd_2
Regex:
accu:
cond:
du_Google_Arbeitsfrei:
0:
&STATE ^du_Google_Arbeitsfrei$
du_Google_Homeoffice:
0:
&STATE ^du_Google_Homeoffice$
du_Heizungssteuerung_Bad:
0:
&STATE ^du_Heizungssteuerung_Bad$
du_Heizungssteuerung_Wohnzimmer:
0:
&STATE ^du_Heizungssteuerung_Wohnzimmer$
he:
0:
&STATE ^he$
attr:
cmdState:
wait:
waitdel:
condition:
0 (::InternalDoIf($hash,'du_Heizungssteuerung_Wohnzimmer','STATE') eq "on" or ::InternalDoIf($hash,'du_Heizungssteuerung_Bad','STATE') eq "on") and (::InternalDoIf($hash,'du_Google_Homeoffice','STATE') eq 1 or ::InternalDoIf($hash,'du_Google_Arbeitsfrei','STATE') eq 1 or ::InternalDoIf($hash,'he','STATE') ne "none")
do:
0:
0 set Buderus Programm_A_B B
1:
0 set Buderus Programm_A_B A
helper:
DEVFILTER ^global$|^du_Heizungssteuerung_Bad$|^du_Google_Arbeitsfrei$|^he$|^du_Heizungssteuerung_Wohnzimmer$|^du_Google_Homeoffice$
NOTIFYDEV global|du_Heizungssteuerung_Bad|du_Google_Arbeitsfrei|he|du_Heizungssteuerung_Wohnzimmer|du_Google_Homeoffice
globalinit 1
last_timer 0
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
DOIF_eventa:
cmd_nr: 2
cmd: 2
cmd_event: di_Heizungssteuerung_Prog_A_B
error: set Buderus Programm_A_B A: A
cmd_2
DOIF_eventas:
cmd_nr: 2
cmd: 2
cmd_event: di_Heizungssteuerung_Prog_A_B
error: set Buderus Programm_A_B A: A
state: cmd_2
internals:
all du_Heizungssteuerung_Wohnzimmer:STATE du_Heizungssteuerung_Bad:STATE du_Google_Homeoffice:STATE du_Google_Arbeitsfrei:STATE he:STATE
uiState:
uiTable:
Attributes:
DbLogExclude .*
do always
Das liegt daran, dass Buderus etwas ungleich Null zurückliefert, hier offenbar "A". In diesem Fall kannst du die Meldung ignorieren.