Hallo.
Ich habe für meine Rollos ein setlist um die Zeiten einzutragen.
# Dummy fürs zeitliches Hochfahren (Werktags)
define du_WZ.Jalousie.Rechts.Up_WT dummy
attr du_WZ.Jalousie.Rechts.Up_WT alias Jalousien WZ (Rechts) - zeitliches Hochfahren (Werktags)
attr du_WZ.Jalousie.Rechts.Up_WT devStateIcon .*:rc_BLANK
attr du_WZ.Jalousie.Rechts.Up_WT group Jalousien
attr du_WZ.Jalousie.Rechts.Up_WT icon clock
attr du_WZ.Jalousie.Rechts.Up_WT room Automation
attr du_WZ.Jalousie.Rechts.Up_WT setList state:time
attr du_WZ.Jalousie.Rechts.Up_WT webCmd state
Allerdings kann ich in der Oberfläche dann nur Stunden und Minuten eintragen.
Meine Abfrage... wirft dann allerdings diesen timespec error.
define WZ.Jalousie.Rechts.Auto DOIF ([Modus_RL] eq "Auto" and ([[du_WZ.Jalousie.Rechts.Up_WT]|8] or [[du_WZ.Jalousie.Rechts.Up_WE]|7])) (set WZ.Jalousie.Rechts 100) \
...
Wenn ich es richtig sehe, dann schreibst du direkt in der cfg, ich empfehle dies zu unterlassen.
Und der Auszug aus der cfg hilft aktuell wenig. Mach mal ein List von DOIF und vom dummy, damit man mehr sehen kann.
Aus irgendeinem Grund steht "state 09:00:00" in deinem Dummy würde ich vermuten... das kann uns aber nur ein list bestätigen, wie Amenophis schon geschrieben hat...
Edit: Das bekommst du weg, wenn du state noch als ReadingsList mit aufnimmst (habe gerade mal schnell in meinen Wecker geschaut)
List vom du_WZ.Jalousie.Rechts.Up_WT
Internals:
CFGFN ./FHEM/fhem_activeactors.cfg
NAME du_WZ.Jalousie.Rechts.Up_WT
NR 154
STATE 08:00
TYPE dummy
READINGS:
2017-11-28 17:22:04 state 08:00
Attributes:
alias Jalousien WZ (Rechts) - zeitliches Hochfahren (Werktags)
devStateIcon .*:rc_BLANK
group Jalousien
icon clock
room Automation
setList state:time
webCmd state
und vom zugehörigen DOIF
Internals:
CFGFN ./FHEM/fhem_activeactors.cfg
DEF ([Modus_RL] eq "Auto" and ([[du_WZ.Jalousie.Rechts.Up_WT]|8] or [[du_WZ.Jalousie.Rechts.Up_WE]|7])) (set WZ.Jalousie.Rechts 100)
DOELSEIF ([Modus_RL] eq "Auto" and ([[du_WZ.Jalousie.Rechts.Down]|8] or [[du_WZ.Jalousie.Rechts.Down]|7])) (set WZ.Jalousie.Rechts 0)
DOELSEIF ([Modus_RL] eq "ASTRO" and [Tageslicht] eq "hell") (set WZ.Jalousie.Rechts 100)
DOELSEIF ([Modus_RL] eq "ASTRO" and [Tageslicht] eq "dunkel") (set WZ.Jalousie.Rechts 0)
NAME WZ.Jalousie.Rechts.Auto
NR 165
NTFY_ORDER 50-WZ.Jalousie.Rechts.Auto
STATE cmd_4
TYPE DOIF
READINGS:
2018-01-08 17:11:40 Device Tageslicht
2018-01-08 17:11:40 cmd 4
2018-01-08 17:11:40 cmd_event Tageslicht
2018-01-08 17:11:40 cmd_nr 4
2018-01-07 22:04:23 e_Modus_RL_STATE ASTRO
2018-01-08 17:11:40 e_Tageslicht_STATE dunkel
2018-01-08 17:11:40 state cmd_4
2018-01-08 19:04:56 timer_01_c01 09.01.2018 08:00:00|8
2018-01-08 19:04:56 timer_02_c01 09.01.2018 08:20:00|7
2018-01-08 19:04:56 timer_03_c02 08.01.2018 22:00:00|8
2018-01-08 19:04:56 timer_04_c02 08.01.2018 22:00:00|7
Regex:
condition:
0 InternalDoIf($hash,'Modus_RL','STATE') eq "Auto" and (DOIF_time_once($hash,0,$wday,"8") or DOIF_time_once($hash,1,$wday,"7"))
1 InternalDoIf($hash,'Modus_RL','STATE') eq "Auto" and (DOIF_time_once($hash,2,$wday,"8") or DOIF_time_once($hash,3,$wday,"7"))
2 InternalDoIf($hash,'Modus_RL','STATE') eq "ASTRO" and InternalDoIf($hash,'Tageslicht','STATE') eq "hell"
3 InternalDoIf($hash,'Modus_RL','STATE') eq "ASTRO" and InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel"
days:
0 8
1 7
2 8
3 7
devices:
0 Modus_RL
1 Modus_RL
2 Modus_RL Tageslicht
3 Modus_RL Tageslicht
all Modus_RL Tageslicht
do:
0:
0 set WZ.Jalousie.Rechts 100
1:
0 set WZ.Jalousie.Rechts 0
2:
0 set WZ.Jalousie.Rechts 100
3:
0 set WZ.Jalousie.Rechts 0
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 4
sleeptimer -1
internals:
0 Modus_RL:STATE
1 Modus_RL:STATE
2 Modus_RL:STATE Tageslicht:STATE
3 Modus_RL:STATE Tageslicht:STATE
all Modus_RL:STATE Tageslicht:STATE
itimer:
all du_WZ.Jalousie.Rechts.Up_WT du_WZ.Jalousie.Rechts.Up_WE du_WZ.Jalousie.Rechts.Down
localtime:
0 1515481200
1 1515482400
2 1515445200
3 1515445200
realtime:
0 08:00:00
1 08:20:00
2 22:00:00
3 22:00:00
time:
0 [du_WZ.Jalousie.Rechts.Up_WT]
1 [du_WZ.Jalousie.Rechts.Up_WE]
2 [du_WZ.Jalousie.Rechts.Down]
3 [du_WZ.Jalousie.Rechts.Down]
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:
1515445200:
localtime 1515445200
hash:
1515481200:
localtime 1515481200
hash:
1515482400:
localtime 1515482400
hash:
Attributes:
group Zeitschaltuhr
room Automation
Muss jetzt nochmal fragen was genau der Fehler im Log ist bzw. was genau nicht geht. Dein DOIF und dein Dummy sehen gut aus, außer, dass du nicht nur in der cfg direkt schreibst, sondern auch noch mit includes arbeitest ...
Der error steht im Thema. Rollos werden nicht gefahren, da fhem sekunden erwartet, die ich über das setlist mittels der Regler aber nicht eingeben kann.
Das mit den includes habe ich mal der Übersichtlichkeit bei anderen Mitgliedern gesehen.
Dann habe ich es doch richtig gesehen, aber nirgends ist 09:00 Uhr zu sehen. Hast du es nochmal auf 08:00 Uhr nach dem Error geändert?
Ja das lese ich immer wieder mit der Übersichtlichkeit etc. brauch man nicht. FHEM verwaltet die cfg selbst und der User muss das nicht machen. Auch muss er nicht direkt darin rumschreiben, weil dadurch die eingebauten Fehlerprüfungen teilweise nicht funktionieren. Aber jeder wie er meint.
Zitat von: en-trust am 08 Januar 2018, 20:10:41
Der error steht im Thema. Rollos werden nicht gefahren, da fhem sekunden erwartet, die ich über das setlist mittels der Regler aber nicht eingeben kann.
Das mit den includes habe ich mal der Übersichtlichkeit bei anderen Mitgliedern gesehen.
Beim DOIF kann man ohne weiteres Zeitangaben im Format HH:MM ohne Sekunden definieren - auch über Dummys. Die Fehlermeldung sagt aber, dass die Zeitangabe "09:00:" lautet also ein Doppelpunkt zu viel.
ich bin immernoch der Meinung da wird "state 09:00" übergeben... das list des Dummies sagt aber was anderes...
Habe den dummy mal nachgebaut. Da kommt auf keinen Fall das bei raus was oben als list veröffentlicht wurde.
bitte log (Fehlerfall) mit aktiviertem stacktrace anhängen.
und mal noch ein ganz dummer Gedanke: Wir schauen ja nur auf einen Dummy, da sind aber noch ein paar andere beteiligt... Was haben die denn für einen state?
Zitat von: KernSani am 09 Januar 2018, 13:52:48
und mal noch ein ganz dummer Gedanke: Wir schauen ja nur auf einen Dummy, da sind aber noch ein paar andere beteiligt... Was haben die denn für einen state?
Du hast recht, es gibt noch
Up_WE und
Down das habe ich gar nicht gesehen. Dachte es wäre alles der gleiche Dummy. Dann brauchen wir wohl auch ein List dieser Dummys. Top gesehen Oli.