FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Tipetan am 17 Dezember 2014, 20:09:13

Titel: WeekdayTimer / Sunrise und Sunset / Switchingtime / Log: Invalid Time
Beitrag von: Tipetan am 17 Dezember 2014, 20:09:13
Hallo.
Ich habe ein Problem, welches sehr komisch ist und ich nicht lösen kann. Die Suche hat mir auch nichts brauchbares geliefert und daher bitte ich euch um Hilfe.
Ich erhalte Uhrzeiten über 23:59:59
Das erste Fehlerbild zeigt sich im Logfile. Dort erhalte ich pro Timer 7 Mal (ich denke für jeden Wochentag eine)  die Meldung "invalid time <31:51:51>".
Hier im Logfile-Auszug mit verbose 5

2014.12.17 19:45:00 5: Cmd: >define Timer.DG.Rollo.Buero.Garten WeekdayTimer DG.Rollo.Buero.Garten Mo-So|{sunrise(6,'06:30:00','08:00:00')}|rauf  Mo-So|{sunset(6,'16:30','22:00')}|runter<
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <31:51:51> HH:MM[:SS]
2014.12.17 19:45:00 5: [Timer.DG.Rollo.Buero.Garten] Switchingtime: Mo-So|{sunrise(6,'06:30:00','08:00:00')}|rauf : so,mo,di,mi,do,fr,sa -> {sunrise(6,'06:30:00','08:00:00')} -> rauf
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: Compute sunrise/sunset for latitude 51.929255 , longitude 7.662297
2014.12.17 19:45:00 1: [Timer.DG.Rollo.Buero.Garten] invalid time <40:59:44> HH:MM[:SS]
2014.12.17 19:45:00 5: [Timer.DG.Rollo.Buero.Garten] Switchingtime: Mo-So|{sunset(6,'16:30','22:00')}|runter : so,mo,di,mi,do,fr,sa -> {sunset(6,'16:30','22:00')} -> runter
2014.12.17 19:45:00 5: [Timer.DG.Rollo.Buero.Garten] setting  Timer: Timer.DG.Rollo.Buero.Garten_UpdatePerlTime 18.12.2014  00:10:00
2014.12.17 19:45:00 5: [Timer.DG.Rollo.Buero.Garten] setting  Timer: Timer.DG.Rollo.Buero.Garten_Update 17.12.2014  19:45:01
2014.12.17 19:45:00 5: Cmd: >attr Timer.DG.Rollo.Buero.Garten disable 0<
2014.12.17 19:45:00 5: Cmd: >attr Timer.DG.Rollo.Buero.Garten group Jalousie Timer<
2014.12.17 19:45:00 5: Cmd: >attr Timer.DG.Rollo.Buero.Garten icon timer<
2014.12.17 19:45:00 5: Cmd: >attr Timer.DG.Rollo.Buero.Garten sortby 2<


Schaut man sich nun die Eigenschaften des Timers an findet man folgendes. Seht euch bitte die Abschnitte an die unterhalb "PERLTIMEUPDATEMODE 0" oder "Switchingtime" sind.

Internals:
   CFGFN      ./userfiles/fhem80addon_timer.cfg
   DEF        DG.Rollo.Buero.Garten Mo-So|{sunrise(6,'06:30:00','08:00:00')}|rauf  Mo-So|{sunset(6,'16:30','22:00')}|runter
   DEVICE     DG.Rollo.Buero.Garten
   LANGUAGE   de
   NAME       Timer.DG.Rollo.Buero.Garten
   NR         438
   PERLTIMEUPDATEMODE 0
   PROFILE 0: Sonntag 31:51 rauf, 40:59 runter,
   PROFILE 1: Montag 31:51 rauf, 40:59 runter,
   PROFILE 2: Dienstag 31:51 rauf, 40:59 runter,
   PROFILE 3: Mittwoch 31:51 rauf, 40:59 runter,
   PROFILE 4: Donnerstag 31:51 rauf, 40:59 runter,
   PROFILE 5: Freitag 31:51 rauf, 40:59 runter,
   PROFILE 6: Samstag 31:51 rauf, 40:59 runter,
   STATE      runter
   TIME_AS_PERL 1
   TYPE       WeekdayTimer
   Readings:
     2014-12-17 19:45:00   disabled        0
     2014-12-17 19:45:06   nextUpdate      18.12.2014 07:51:51
     2014-12-17 19:45:06   nextValue       rauf
     2014-12-17 19:45:06   state           runter
   Timer:
     Timer.dg.rollo.buero.garten_update:
       HASH       Timer.DG.Rollo.Buero.Garten
       MODIFIER   Update
       NAME       Timer.DG.Rollo.Buero.Garten_Update
     Timer.dg.rollo.buero.garten_updateperltime:
       HASH       Timer.DG.Rollo.Buero.Garten
       MODIFIER   UpdatePerlTime
       NAME       Timer.DG.Rollo.Buero.Garten_UpdatePerlTime
   Helper:
     DESIRED_TEMP_READING
     SWITCHINGTIMES Mo-So|{sunrise(6,'06:30:00','08:00:00')}|rauf Mo-So|{sunset(6,'16:30','22:00')}|runter
     Switchingtime:
       0:
         31:51:51   rauf
         40:59:44   runter
       1:
         31:51:51   rauf
         40:59:44   runter
       2:
         31:51:51   rauf
         40:59:44   runter
       3:
         31:51:51   rauf
         40:59:44   runter
       4:
         31:51:51   rauf
         40:59:44   runter
       5:
         31:51:51   rauf
         40:59:44   runter
       6:
         31:51:51   rauf
         40:59:44   runter
Attributes:
   disable    0
   group      Jalousie Timer
   icon       timer
   sortby     2


Das komische daran ist, das die Rollos tatsächlich aber mit der richtig errechneten Sunrise und Sunset Zeit arbeiten.
Diese Problem tritt nur auf, wenn ich rereadcfg mache. Lasse ich FHEM ca.24h in Ruhe werden die Zeiten neu berechnet aber trotzdem falsch dargestellt. Das Logfile hat darüber aber keine Fehler.

Habt ihr eine Idee was da schief läuft?
Danke Tipetan
Titel: Antw:WeekdayTimer / Sunrise und Sunset / Switchingtime / Log: Invalid Time
Beitrag von: Dietmar63 am 17 Dezember 2014, 20:44:40
das ist ein feature von sunrise/sunset - lies  die Doku mal aufmerksam durch. Irgendwo steht, dass man von den Stunden 24 abziehen soll.

Hier im Forum gibt es viele Beispiele dazu.

Wenn du auf
sunrise_abs()/sunset_abs() return the absolute time of the corresponding event today (no 24 hours added).
umstellst, sollte sich dein Problem in Luft auflösen.