NEWS
Zeitplan Probleme
-
@codierknecht
Ich meinte das mit der Variablen. -
@homoran
Ich hatte noch schnell eine Stufe eingebaut und es auf Intervall geändert. Das war in 3-4 min gemacht. Erste Meldung kam dann um 21:00 Uhr. Läuft anscheinend jetzt. -
@labamba sagte in Zeitplan Probleme:
Das war in 3-4 min gemacht.
im Gegensatz zum Cron
*/17 * * * *
kommt die erste Aktion mit dem Intervall nicht beim Start, sondern erst nach 17 Minuten.
Beim Cron wäre das17/17 * * * *
-
@labamba sagte in Zeitplan Probleme:
Ich meinte das mit der Variablen.
Auch das ist eigentlich selbsterklärend
-
@codierknecht sagte in Zeitplan Probleme:
Auch das ist eigentlich selbsterklärend
@LaBamba
setze temperatur...
bekommst du wenn du die Variabletemperatur
unter Variablen anlegst ebenda -
@codierknecht
Danke, werde ich bei Gelegenheit mal umbauen. -
@labamba sagte in Zeitplan Probleme:
Danke, werde ich bei Gelegenheit mal umbauen.
Wenn das jetzt erstmal so funktioniert, weißt Du ja wie es geht.
Wenn das auch beim Start des Script sofort starten soll, würde ich das in eine Funktion auslagern und diese dann beim Start des Script und im Intervall aufrufen.
Also in etwa so:
So wird das 1x beim Start des Script und dann alle 17 Minuten ausgeführt. Durch die Funktion erspart man sich das doppelte Codieren (macht man grundsätzlich nicht und ist fehleranfällig).Noch kurz zum Unterschied zwischen Pause und Timeout:
Eine Pause "wartet" bis zur Ausführung des nächsten Blocks.
Die Timeouts werden quasi unmittelbar gestartet. Hier "wartet" nix. Stattdessen wird quasi intern ein Zeitgeber aktiviert, der den Code innerhalb des Timeout zur angegebenen Zeit ausführt.
Weil die Timeouts unmittelbar gestartet werden, wird die 1 Minute auch nicht zu den 5 Minuten "addiert". Darum muss der zweite Timeout auch auf 6 Minuten gesetzt werden.Timeouts sollten theoretisch effizienter sein als Pausen.
-
@codierknecht
Ich bin jetzt mal dazugekommen deinen Vorschlag umzusetzen.
Meine Frage ist geht es auch einfacher mit der Antwort über telegramm? Das macht das Skript ewig lange. Im Moment benötige ich es aber um einen Pumpenausfall zu registrieren und zu sehen ob das Skript sauber läuft.
Zweitens möchte ich noch eine zweite Ebene für Nachts mit längeren Intervallen einführen (hier ist keine Photosyntese der Pflanzen). Das bekomme ich aber leider nicht hin. -
Bitte auch als Screenshot liefern.
Ohne installierten Telegram-Adapter lässt sich das nicht importieren. -
Das ist meine letzte Version. Jedoch weiss ich nicht ob sie läuft!
Kann sie hier nicht reinstellen da sie zu groß ist!
-
Mein altes Skript ist gut gelaufen. Jedoch habe ich es nicht hinbekommen die Tag /Nacht unterscheidung mit hineinzubekommen.
-
@labamba die falls-Abfrage zur Uhrzeit muss in das Intervall, nicht vor das Intervall.
Ansonsten betrifft es nur das starten des Intervalls und ist abhängig davon wann das Skript gestartet wird.
A.
-
@asgothian
Das habe ich auch schon versucht. Mein Problem ist dann aber, dass wenn es im Intervall steht die Fallunterscheitung zwischen Tagund Nacht mit unterschiedlichen Intervalllängen nicht funktioniert. -
-
@labamba auch so geht es nicht - die Entscheidung Tag oder Nacht findet nur zum skriptstart statt.
Vorschlag:
- eine variable ’toggle’, vordefinieren mit True.
- ein Zeitplan alle 17 Minuten.
- darin ein falls für Tag-Nacht Unterscheidung.
- bei Tag - jedes Mal Tag Skript ausführen.
- bei nacht: toggle=nicht toggle. Falls toggle -> Nacht Skript ausführen.
A.
-
@asgothian
da kenne ich mich leider zu wenig aus! -
@labamba
Prinzip: -
@labamba
Wenn Nachtintervall bedeutet, dass nur jeder 2. Durchlauf nötig ist:Beim Start des Script wird die Variable "flag" auf
false
gesetzt.
Ist es Nacht, wird geprüft, ob sietrue
ist. Das ist beim ersten Durchlauf nach 17 Minuten nicht der Fall. Die Variable wechselt auftrue
.
Nach weiteren 17 Minuten ist sie danntrue
. Die Funktion ""hydroNachts" wird ausgeführt.
Die Variable wechselt wieder auffalse
und der Spaß beginnt von vorne.Also ziemlich genau das was @Asgothian vorgeschlagen hat.
Alternative: Man prüft, ob die aktuelle Minute gerade oder ungerade ist. Funktioniert natürlich nur mit einem ungeraden Intervall.
-
@codierknecht
@Asgothian
Erstmal danke, für das Skript. Ich werde jetzt mal versuchen es einzubinden.
Jedoch bin ich noch im Versuchsstadium bzgl. der nächtlichen Bewässerung. Folglich kann es sein, dass ich die Zeiten noch wegen Energieeinsparung usw. verlängern muss. Das ist dann Imit diesem Skript nicht möglich oder?
Wenn ich es richtig verstanden habe ist jetzt das Intervall am Tag 17 Minuten und in der Nacht 34 min. Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten? -
@labamba sagte in Zeitplan Probleme:
Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten?
Dann müsste man statt mit 'nem einfachen Flag mit einer Zählvariablen arbeiten.
Bei jedem Durchlaf hochzählen und wenn z.B. die 4 erreicht ist dann ausführen und Variable zurücksetzen.Oder aber, man setzt 2 Zeitpläne auf.
Einer morgens, der ein "IntervallTags" z.B. alle 17 Minuten startet und "IntervallNachts" löscht.
Und einer Abends, der ein "IntervallNachts" (z.B. alle 68 Minuten) startet und "IntervallTags" löscht.
Das wäre insgesamt am variabelsten, da man dann nicht auf Vielfache von Intervall1 angewiesen ist.