NEWS
CRON Timer mit externe Variablen
-
Hallo zusammen,
ich brauche Hilfe, irgendwas verstehe ich nicht ganz. Grundsätzlich zu meinem Aufbau (warum das so ist, erst mal egal):
iCal: Über das Jahr sind Zeitblöcke definiert. Diese kann ich über meinen Kalender verschieben und dadurch möchte ich Einfluss auf meine Skripte / Funktionen nehmen.
Datenpunkte sind definiert:
Lovelace: Hier zeige ich die Daten:
Und in Blockly möchte ich das dann umsetzten, hier ein Beispiel:
Um es möglichst einfach zu halten, verzichte ich auf alles unnötige.
Das Skript funktioniert auch soweit.Was funktioniert nicht?
Über den Kalender kommt eine Änderung herein. Beispiel von Winter_1 auf Winter_2 (läuft übe rein eignes Skript). Somit ändert sich die Uhrzeiten von „DämmerungAbends“. Die Änderung wird im Datenpunkt richtig hinterlegt, im Lovelace richtig angezeigt.Aber:
Das Skript ändert sich nicht. Die Zeitausgabe über das Skript ist richtig und alle Systeme sind aktuell. Das einzige was die Änderung übernimmt, ist wenn ich das ausführende Skript gestoppt und neugestartet werden.Was genau übersehe ich?
Gruß & Danke für die Hilfe!
-
@moridin sagte: Was genau übersehe ich?
Wenn sich der Wert eines Datenpunktes ändert, muss dieser Datenpunkt als Trigger dienen, der laufende Zeitplan gestoppt werden und anschließend der Zeitplan mit dem neuen CRON-String gestartet werden. Prinzip:
-
@moridin sagte in CRON Timer mit externe Variablen:
Was genau übersehe ich?
Dass der Zeitplan nur einmal - nämlich beim Start des Script - eingerichtet wird.
Du musst dynamisch auf die Änderungen reagieren und damit einen Zeitplan erstellen. -
Danke für die Hilfe! Macht natürlich sinn! Ich muss das mal umsetzten und wenn noch etwas hochkommt, melde ich mich nochmal!
Gruß & Danke
-
@codierknecht
Hallo,
ich habe jetzt viel ausprobiert, hatte wie immer wenig Zeit im Alltag. Kennt man ja…
Wie alle Jahre wieder bin ich um die Weihnachtszeit krank…also hatte ich etwas mehr Zeit.Hier meine Ergebnisse:
Ich habe es auf diesem Weg probiert:
Die Telegram-Blöcke senden mir dann immer den Status bzw. die erwarteten Uhrzeiten. Da ich die Änderung provozieren will, ändere ich die entsprechende Uhrzeit jeden Morgen um 0:13 Uhr. Mit diesem Ergebniss:
Beispiel:
Letzte verwendete Uhrzeit: 07:13 Uhr
neue Uhrzeit: 07:25 UhrTelegram-Info:
- Block wird gestoppt
- Block wird neu gestartet
- Uhrzeit 07:25 Uhr
—> die Rollläden gehen um 07:13 Uhr auf ??
Wenn ich mein Test-Blockly verwende funktioniert es aber:
Hier ändere ich einfach zu einigen Zeitpunkten die „TestZeit“ und erhalte dann immer die entsprechende Ausgabe über Telegram…
Sehe ich einen Fehler nicht?
Ich versuche es jetzt mal über den Weg von @paul53
Danke für die Hilfe und euch allen eine schöne Zeit!
-
@moridin sagte in CRON Timer mit externe Variablen:
Da ich die Änderung provozieren will, ändere ich die entsprechende Uhrzeit jeden Morgen um 0:13 Uhr.
Was steht denn in dem Datenpunkt genau drin? Wirklich ein Cron-Ausdruck als
13 7 * * *
? -
@haus-automatisierung
Ja genau so habe ich angefangen. In meinem Testaufbau habe ich dann auch die Wochentage ausprobiert um zu sehen ob das einen Einfluss hat.Wäre ja auch schon z.B. am WE die Rollläden etwas später zu öffnen…
Im Testaufbau funktioniert es auch…