Hallo zusammen,
folgendes DOIF habe ich erstellt, was bei Prüfung über "checkall" soweit auch funktioniert. Heute wurde aber die zweite Bedingung nicht ausgeführt.
([?rgr_Bewohner] eq "zuhause" and [?Wecker:state] eq "on" and [Wecker:weckzeit|8])
(set Sonos_Kueche Volume 12; set Sonos_Kueche StartFavourite FFH; set Kuhla pct 100; set Kuhla on-for-timer 5400; set Arbeitsplatte on-for-timer 5400)
DOELSEIF ([?rgr_Bewohner] eq "zuhause" and [?Wecker:state] eq "on" and [Wecker:weckzeit_we|7])
(set Sonos_Kueche Volume 12; set Sonos_Kueche StartFavourite FFH; set Kuhla pct 100; set Kuhla on; set Arbeitsplatte on)
Liegt es am Code?
Danke für eure Hilfe!
Gruß
Udo
Ein "list" vom DOIF im "falschen" Zustand wäre gut
Zitat von: amenomade am 24 November 2019, 12:32:53
Ein "list" vom DOIF im "falschen" Zustand wäre gut
Hier ist das List.
Internals:
DEF ([?rgr_Bewohner] eq "zuhause" and [?Wecker:state] eq "on" and [Wecker:weckzeit|8])
(set Sonos_Kueche Volume 12; set Sonos_Kueche StartFavourite FFH; set Kuhla pct 100; set Kuhla on-for-timer 5400; set Arbeitsplatte on-for-timer 5400)
DOELSEIF ([?rgr_Bewohner] eq "zuhause" and [?Wecker:state] eq "on" and [Wecker:weckzeit_we|7])
(set Sonos_Kueche Volume 12; set Sonos_Kueche StartFavourite FFH; set Kuhla pct 100; set Kuhla on; set Arbeitsplatte on)
FUUID 5dd8464b-f33f-45fc-79d0-3b19c1abe2419934
MODEL FHEM
NAME Fruehstueck
NOTIFYDEV Wecker,global
NR 403
NTFY_ORDER 50-Fruehstueck_Wochentags
STATE initialized
TYPE DOIF
VERSION 20500 2019-11-12 17:54:48
.attraggr:
.attrminint:
READINGS:
2019-11-24 08:11:24 cmd 0
2019-11-24 08:11:24 mode enabled
2019-11-24 08:11:24 state initialized
Regex:
accu:
cond:
Wecker:
0:
weckzeit|8 ^Wecker$:^weckzeit|8:
1:
weckzeit_we|7 ^Wecker$:^weckzeit_we|7:
condition:
0 ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause" and ::ReadingValDoIf($hash,'Wecker','state') eq "on" and ::ReadingValDoIf($hash,'Wecker','weckzeit|8')
1 ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause" and ::ReadingValDoIf($hash,'Wecker','state') eq "on" and ::ReadingValDoIf($hash,'Wecker','weckzeit_we|7')
do:
0:
0 set Sonos_Kueche Volume 12; set Sonos_Kueche StartFavourite FFH; set Kuhla pct 100; set Kuhla on-for-timer 5400; set Arbeitsplatte on-for-timer 5400
1:
0 set Sonos_Kueche Volume 12; set Sonos_Kueche StartFavourite FFH; set Kuhla pct 100; set Kuhla on; set Arbeitsplatte on
2:
helper:
DEVFILTER ^global$|^Wecker$
NOTIFYDEV global|Wecker
globalinit 1
last_timer 0
sleeptimer -1
internals:
all rgr_Bewohner:STATE
readings:
all Wecker:weckzeit|8 Wecker:weckzeit_we|7
uiState:
uiTable:
Attributes:
alias Kueche: Fruehstuecken unter Woche
room DOIF,Kueche
Falscher Status?
0 ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause" and ::ReadingValDoIf($hash,'Wecker','state') eq "on" and ::ReadingValDoIf($hash,'Wecker','weckzeit|8')
1 ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause" and ::ReadingValDoIf($hash,'Wecker','state') eq "on" and ::ReadingValDoIf($hash,'Wecker','weckzeit_we|7')
Deine Zeiteingaben werden gar nicht mal interpretiert... da sie falsch geschrieben sind
Statt[Wecker:weckzeit|8])
muss man[[Wecker:weckzeit]|8])
schreiben
Zitat von: amenomade am 24 November 2019, 13:47:03
0 ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause" and ::ReadingValDoIf($hash,'Wecker','state') eq "on" and ::ReadingValDoIf($hash,'Wecker','weckzeit|8')
1 ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause" and ::ReadingValDoIf($hash,'Wecker','state') eq "on" and ::ReadingValDoIf($hash,'Wecker','weckzeit_we|7')
Deine Zeiteingaben werden gar nicht mal interpretiert... da sie falsch geschrieben sind
Statt[Wecker:weckzeit|8])
muss man[[Wecker:weckzeit]|8])
schreiben
Ahhhrgg, diese Klammern, danke für die Unterstützung!