Hallo,
Seit wenigen Tagen bin ich auf einen Raspberry Pi3 umgezogen und habe per Backup und restore via "tax xfz ..." das FHEM directory "übertragen". Der Rest ist ein neues Jessie Raspbian Image.
Soweit läuft auch alles, allerdings verhalten sich einige DOIF merkwürdig welche ich in den Abfragen nicht geändert habe. Ich finde aber nicht den Grund. (Das Datum des Pi3 stimmt und wird via NTP synchronisiert, dass kann ich also ausschließen)
Ein Beispiel:
([16:00-00:00|8] and [rgr_Residents:presence] eq "present") (set WOZ.Strom.Media:FILTER=STATE!=on on) DOELSEIF
([08:00-01:00|7] and [rgr_Residents:presence] eq "present") (set WOZ.Strom.Media:FILTER=STATE!=on on) DOELSEIF
([?Urlaub.dummy] eq "ja" and [rgr_Residents:presence] eq "present") (set WOZ.Strom.Media:FILTER=STATE!=on on) DOELSE
(set WOZ.Strom.Media:FILTER=STATE!=off off)
Um Punkt 16 Uhr heute hat das DOIF aber in den ELSE Zweig gewechselt, obwohl rgr_Residents presence im state "present" war. Das DOIF hätte also eigentlich in den ersten IF Zweig schalten müssen, welches die letzten Wochen auch auf dem alten System immer geklappt hat.
Hier mal das komplette List.
Internals:
DEF ([16:00-00:00|8] and [rgr_Residents:presence] eq "present") (set WOZ.Strom.Media:FILTER=STATE!=on on) DOELSEIF
([08:00-01:00|7] and [rgr_Residents:presence] eq "present") (set WOZ.Strom.Media:FILTER=STATE!=on on) DOELSEIF
([?Urlaub.dummy] eq "ja" and [rgr_Residents:presence] eq "present") (set WOZ.Strom.Media:FILTER=STATE!=on on) DOELSE
(set WOZ.Strom.Media:FILTER=STATE!=off off)
NAME doif.WOZ.Strom.Media
NR 237
NTFY_ORDER 50-doif.WOZ.Strom.Media
STATE cmd_4
TYPE DOIF
Readings:
2016-03-24 04:35:01 Device rgr_Residents
2016-03-24 16:00:00 cmd_event timer_1
2016-03-24 16:00:00 cmd_nr 4
2016-03-24 04:35:01 e_rgr_Residents_presence present
2016-03-24 16:00:00 state cmd_4
2016-03-24 17:25:25 timer_1_c1 25.03.2016 16:00:00|8
2016-03-24 17:25:25 timer_2_c1 25.03.2016 00:00:00|8
2016-03-24 17:25:25 timer_3_c2 25.03.2016 08:00:00|7
2016-03-24 17:25:25 timer_4_c2 25.03.2016 01:00:00|7
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"8") and ReadingValDoIf($hash,'rgr_Residents','presence','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present"
1 DOIF_time($hash,$hash->{realtime}{2},$hash->{realtime}{3},$wday,$hms,"7") and ReadingValDoIf($hash,'rgr_Residents','presence','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present"
2 InternalDoIf($hash,'Urlaub.dummy','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "ja" and ReadingValDoIf($hash,'rgr_Residents','presence','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present"
Days:
0 8
1 8
2 7
3 7
Devices:
0 rgr_Residents
1 rgr_Residents
2 rgr_Residents
all rgr_Residents
Do:
0:
0 set WOZ.Strom.Media:FILTER=STATE!=on on
1:
0 set WOZ.Strom.Media:FILTER=STATE!=on on
2:
0 set WOZ.Strom.Media:FILTER=STATE!=on on
3:
0 set WOZ.Strom.Media:FILTER=STATE!=off off
Helper:
globalinit 1
last_timer 4
sleeptimer -1
Internals:
2 Urlaub.dummy:STATE
all Urlaub.dummy:STATE
Interval:
0 -1
1 0
2 -1
3 2
Itimer:
Localtime:
0 1458918000
1 1458860400
2 1458889200
3 1458864000
Readings:
0 rgr_Residents:presence
1 rgr_Residents:presence
2 rgr_Residents:presence
all rgr_Residents:presence
Realtime:
0 16:00:00
1 00:00:00
2 08:00:00
3 01:00:00
Regexp:
All:
State:
Time:
0 16:00:00
1 00:00:00
2 08:00:00
3 01:00:00
Timecond:
0 0
1 0
2 1
3 1
Timer:
0 0
1 0
2 0
3 0
Timers:
0 0 1
1 2 3
Triggertime:
1458860400:
localtime 1458860400
Hash:
1458864000:
localtime 1458864000
Hash:
1458889200:
localtime 1458889200
Hash:
1458918000:
localtime 1458918000
Hash:
Attributes:
do always
room Wohnzimmer
Ich kann auch noch weitere Beispiele liefern welche ebenfalls nicht mehr korrekt schalten.
Hilfe! 😀