Ich möchte einen Zeitraum unter DOIF mit externen Zeit Definition definieren die in der Zeitdarstellung 00:00 erfolgen.
({[MAG-MUG]})
(set L_OG1_WZ_Aqua_Mond:FILTER=state!=on on)
DOELSE
(set L_OG1_WZ_Aqua_Mond:FILTER=state!=off off)
MAG ist Mondaufgang und MUG Monduntergang
Bei dieser DOIF Konfiguration bekomme ich folgende Fehlermeldung
timer_01_c01 error: Wrong timespec MAG: either HH:MM:SS or {perlcode}
timer_02_c01 error: Wrong timespec MUG: either HH:MM:SS or {perlcode}
Wie muss ich unter DOIF die {} Klammern setzten um den Fehler zu beheben?
([[MAG]-[MUG]])
siehe http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben
Ursprünglich hatte ich diese Konfiguration.
Diese bringt im LOG eine andere Fehlermeldung.
2018.01.30 22:00:01.258 4: AquariumNachtlicht timer_01_c01 error: Wrong timespec Initialized: either HH:MM:SS or {perlcode}
2018.01.30 22:10:01.269 4: AquariumNachtlicht timer_02_c01 error: Wrong timespec Initialized: either HH:MM:SS or {perlcode}
Zitat von: Burny4600 am 30 Januar 2018, 22:14:17
Ursprünglich hatte ich diese Konfiguration.
Diese bringt im LOG eine andere Fehlermeldung.
2018.01.30 22:00:01.258 4: AquariumNachtlicht timer_01_c01 error: Wrong timespec Initialized: either HH:MM:SS or {perlcode}
2018.01.30 22:10:01.269 4: AquariumNachtlicht timer_02_c01 error: Wrong timespec Initialized: either HH:MM:SS or {perlcode}
Dann ist im Status des Devices MAG bzw. MUG keine Zeitangabe in der Form HH:MM oder HH:MM:SS drin.
Es sind eindeutige Uhrzeiten die von PROPLANTA übernommen werden.
https://www.proplanta.de/Wetter-Oesterreich/profi-wetter-at.php?SITEID=70&PLZ=Wels&STADT=Wels&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=
fc0_moonRise
fc0_moonSet
LIST AquariumNachtlicht
Internals:
CFGFN /media/hdd/fhem/myprogram/aquarium_rasp01.pm
DEF ([[MAG]-[MUG]])
(set L_OG1_WZ_Aqua_Mond:FILTER=state!=on on)
DOELSE
(set L_OG1_WZ_Aqua_Mond:FILTER=state!=off off)
NAME AquariumNachtlicht
NR 4099
NTFY_ORDER 50-AquariumNachtlicht
STATE initialized
TYPE DOIF
READINGS:
2018-01-30 22:10:53 cmd 0
2018-01-30 22:10:53 mode enabled
2018-01-30 22:10:53 state initialized
2018-01-30 22:10:54 timer_01_c01 31.01.2018 14:43:00
2018-01-30 22:10:54 timer_02_c01 31.01.2018 05:31:00
Regex:
condition:
0 DOIF_time($hash,0,1,$wday,$hms)
days:
devices:
do:
0:
0 set L_OG1_WZ_Aqua_Mond:FILTER=state!=on on
1:
0 set L_OG1_WZ_Aqua_Mond:FILTER=state!=off off
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 2
sleeptimer -1
interval:
0 -1
1 0
itimer:
all MAG MUG
localtime:
0 1517406180
1 1517373060
realtime:
0 14:43:00
1 05:31:00
time:
0 [MAG]
1 [MUG]
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
triggertime:
1517373060:
localtime 1517373060
hash:
1517406180:
localtime 1517406180
hash:
uiState:
uiTable:
Attributes:
alias Aquarium Mondlicht
devStateIcon EIN:light_downlight@cyan AUS:light_downlight@gray
eventMap cmd_1:EIN cmd_2:AUS
group Timer
icon light_downlight
room OG1-Kueche,OG1-Wohnzimmer,_Timer
Trotz richtiger Schreibweise ist immer dieser LOG Eintrag beim Bootvorgang vorhanden.
2018.01.31 08:43:06.629 4: AquariumNachtlicht timer_01_c01 error: Wrong timespec MAG: either HH:MM:SS or {perlcode}
2018.01.31 08:43:06.631 4: AquariumNachtlicht timer_02_c01 error: Wrong timespec MUG: either HH:MM:SS or {perlcode}
Es kann auch nicht daran liegen das aus dem WEB noch keine Daten vorhanden sind, denn im fhem.save stehen schon Werte für MAD und MUG.
setstate MAG 14:43
setstate MAG 2018-01-30 21:30:43 state 14:43
.........................
setstate MUG 05:31
setstate MUG 2018-01-30 21:30:43 state 05:31
Mach mal ein List von MUG und MAG.
Zitat von: Burny4600 am 31 Januar 2018, 08:46:33
Es kann auch nicht daran liegen das aus dem WEB noch keine Daten vorhanden sind, denn im fhem.save stehen schon Werte für MAD und MUG.
setstate MAG 14:43
setstate MAG 2018-01-30 21:30:43 state 14:43
.........................
setstate MUG 05:31
setstate MUG 2018-01-30 21:30:43 state 05:31
So ist es wohl, die Readings sind offenbar kurz nach dem Hochfahren nicht oder nicht mit einer Uhrzeit belegt. DOIF merkt allerdings, wenn sie zum späteren Zeitpunkt korrekt belegt werden und setzt dann die richtigen Timer, wie im list zu sehen.