error: Wrong timespec state 09:00: either HH:MM:SS or {perlcode}

Begonnen von en-trust, 08 Januar 2018, 10:17:59

Vorheriges Thema - Nächstes Thema

en-trust

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) \
...

Amenophis86

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.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

KernSani

#2
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)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

en-trust

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

Amenophis86

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 ...
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

en-trust

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.

Amenophis86

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.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

KernSani

ich bin immernoch der Meinung da wird "state 09:00" übergeben... das list des Dummies sagt aber was anderes...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Habe den dummy mal nachgebaut. Da kommt auf keinen Fall das bei raus was oben als list veröffentlicht wurde.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

herrmannj

bitte log (Fehlerfall) mit aktiviertem stacktrace anhängen.

KernSani

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?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Amenophis86

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.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...