FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: mj-crawl am 13 Juni 2019, 16:09:15

Titel: DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: mj-crawl am 13 Juni 2019, 16:09:15
Hallo,

ich möchte ein DOIF alle 2,5 Minuten (2 Minuten 30 Sekunden, bzw. alle 150 Sekunden) mit Zeitrasterung ausführen. Also um [hh:mm:ss]
00:02:30,
00:05:00,
00:07:30,
00:10:00,
00:12:30,
00:15:00,
00:17:30,
00:20:00,
etc.


Leider lässt die relative Zeitangabe mit Zeitraster keine Sekundenangaben zu. Beispiel aus der commandref:


Das Format lautet: [+:MM] MM sind Minutenangaben zwischen 1 und 59.
define di_gong DOIF ([+:15]) {}


Gibt es hierzu irgendwelche Ideen wie ich das Umsetzen kann?

Gruß
Titel: Antw:DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: dieter56 am 13 Juni 2019, 17:18:04
Hallo,

Du könntest dir von www.lambda-script.org das Modul lambda-script installieren (ist leider noch nicht standardmäßig in FHEM enthalten).
Dann mit define di_gong lambda das Script erstellen.
Dort schreibst du rein:

repeat {
   wait 2,30;
   ..........
}

Für die  Punkte setzt du ein, was du alle 2,5 Minuten tun möchtest.

Gruß
Dieter
Titel: Antw:DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: Damian am 13 Juni 2019, 17:43:12
Zitat von: dieter56 am 13 Juni 2019, 17:18:04
Hallo,

Du könntest dir von www.lambda-script.org das Modul lambda-script installieren (ist leider noch nicht standardmäßig in FHEM enthalten).
Dann mit define di_gong lambda das Script erstellen.
Dort schreibst du rein:

repeat {
   wait 2,30;
   ..........
}

Für die  Punkte setzt du ein, was du alle 2,5 Minuten tun möchtest.

Gruß
Dieter

Ich glaube, er wollte es unbedingt ausgerichtet haben. DOIF kann ausgerichtet immer nur im Minutenabstand.
Titel: Antw:DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: dieter56 am 13 Juni 2019, 17:58:27
Frage: Was heißt ausgerichtet? So, das immer eine volle Stunde dabei ist?
Titel: Antw:DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: Chris46 am 13 Juni 2019, 18:00:58
Ein AT mit alignTime sollte sekundengenau funktionieren.
Titel: Antw:DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: dieter56 am 13 Juni 2019, 18:19:24
Mit lambda-script funktioniert es auf alle Fälle so:


t0 := hour;
t1 := t0;
# t1 wird der nächste Startpunkt
repeat {
   t1 := t1 + 2,30;
   case (t1 > now) {quit}
};
wait t1;
repeat {
   .................
   wait 2,30;
};


Es geht mit Sicherheit einfacher. Fällt mir nur gerade nicht ein.
Titel: Antw:DOIF Zeitsteuerung alle 2,5 Minuten
Beitrag von: mj-crawl am 14 Juni 2019, 08:49:46
Super! Danke für die Antworten. Ich werde es mal ausprobieren.