Frage zu RandomTimer mit Twilight

Begonnen von palmin, 05 Mai 2017, 09:26:38

Vorheriges Thema - Nächstes Thema

palmin

Hallo zusammen,

ich habe eben erst angefangen, mich mit FHEM zu beschäftigen, das Thema ist hauptsächlich Steuerung von Lampen (Osram Lightify).

Das Forum und die Dokumentation hat mir da schon viel weitergeholfen.

Aktuell habe ich mit RandomTimer und Twilight eine Abwesenheitssimulation laufen. Das Ganze soll abends aktiv werden.

Grundidee: starte den RandomTimer mit einem Schalt-Intervall von 8 Minuten wenn es drinnen dunkel ist (dafür gibt es ja auch schon viele Beispiele).

Nun habe ich eine kleine Verständnisfrage dazu: der RandomTimer wird zur geplanten Zeit gestartet, schaltet die Lampe aber das erste Mal erst nach Ablauf des Schalt-Intervalls von 8 Minuten. Ich hätte eigentlich erwartet, dass der Timer zum Startzeitpunkt die ganz normale Auswertung der Schaltzyklen vornimmt und dann z.B. zu Beginn die Lampe aktiviert. Habe ich da etwas missverstanden?

Hier meine Definitionen:
defmod tw_local Twilight 53.0 9.0 5 641142

defmod timer_VacationTest RandomTimer *{twilight("tw_local","ss_indoor","16:00","21:00")}  myLampe1 +03:00:00 480
attr timer_VacationTest disableCond (Value("sw_verreist") ne "ja")
attr timer_VacationTest switchmode 900/100


Und hier ein Output mit verbose 5:

2017.05.02 00:00:03 5: [tw_local] removing Timer: tw_local_ss_indoor
2017.05.02 00:00:03 5: [tw_local] setting  Timer: tw_local_ss_indoor 2017-05-02 20:11:51
...
2017.05.02 00:08:30 4: [timer_VacationTest] timings  RandomTimer on myLampe1: 20:11:51(02) - 23:11:51(02)
2017.05.02 00:08:30 5: [timer_VacationTest] removing Timer: timer_VacationTest_Exec
2017.05.02 00:08:30 5: [timer_VacationTest] setting  Timer: timer_VacationTest_Exec 2017-05-02 20:11:51
2017.05.02 00:08:30 5: [timer_VacationTest] removing Timer: timer_VacationTest_SetTimer
2017.05.02 00:08:30 5: [timer_VacationTest] setting  Timer: timer_VacationTest_SetTimer 2017-05-03 00:08:30
...
2017.05.02 20:11:51 5: [timer_VacationTest] removing Timer: timer_VacationTest_Exec
2017.05.02 20:11:51 5: [timer_VacationTest] setting  Timer: timer_VacationTest_Exec 2017-05-02 20:20:08
2017.05.02 20:11:51 4: [tw_local] ss_indoor  2017-05-02 20:11:51  ( 8/4/ +5.0°/1)   ===> ss         20:48:00             
...
2017.05.02 20:20:08 3: [timer_VacationTest] starting RandomTimer on myLampe1: 20:11:51(02) - 23:11:51(02)
2017.05.02 20:20:08 4: [timer_VacationTest] IstZustand:off sigmaWhen-off:900 random:248<900=>true
2017.05.02 20:20:08 4: [timer_VacationTest] command: set myLampe1 on
2017.05.02 20:20:08 5: [timer_VacationTest] removing Timer: timer_VacationTest_Exec
2017.05.02 20:20:08 5: [timer_VacationTest] setting  Timer: timer_VacationTest_Exec 2017-05-02 20:27:54


Die Frage ist also: warum findet die IstZustand-Abfrage des RandomTimers erst um 20:20:08 statt (8 Minuten nach dem Start des Timers), und nicht schon direkt beim Start?

Gruß,
    Bernd


Thorsten Pferdekaemper

Zitat von: palmin am 05 Mai 2017, 09:26:38Ich hätte eigentlich erwartet, dass der Timer zum Startzeitpunkt die ganz normale Auswertung der Schaltzyklen vornimmt und dann z.B. zu Beginn die Lampe aktiviert.
Warum hast Du das erwartet? Ich verstehe die Doku so, dass das Ding immer nach Ablauf der angegebenen Zeit schaltet, also das erste Mal nach 8 Minuten.
Was passiert denn, wenn Du von der Startzeit einfach die 8 Minuten abziehst?
Gruß,
   Thorsten
FUIP

palmin

Zitat von: Thorsten Pferdekaemper am 05 Mai 2017, 11:12:05
Warum hast Du das erwartet? Ich verstehe die Doku so, dass das Ding immer nach Ablauf der angegebenen Zeit schaltet, also das erste Mal nach 8 Minuten.

Ich hatte es anders verstanden: es gibt ein Intervall (in diesem Fall 8 Minuten), in dem Schaltvorgänge ausgelöst werden können. Bei jedem Schaltvorgang wird anhand der Einstellung von switchmode entschieden, ob wirklich geschaltet wird. Bei mir (900/100) wird in 90% aller Fälle On geschaltet wenn das device auf Off war. Ich hätte nun eben erwartet dass diese Entscheidung auch schon beim Start des Timers getroffen wird, bei einem "normalen" Timer geht die Lampe ja auch zur Schaltzeit an. Aber vielleicht habe ich ja wirklich was missverstanden...

Zitat von: Thorsten Pferdekaemper am 05 Mai 2017, 11:12:05
Was passiert denn, wenn Du von der Startzeit einfach die 8 Minuten abziehst?
Gruß,
   Thorsten

Werde ich mal ausprobieren. Da muss ich mir erst einmal über die Syntax klarwerden ;-)

Danke & Gruß,
Bernd