NEWS
Beschattungsautomatik - Timeout Problem
-
Hallo zusammen,
ich habe in Blockly mir ein Skript zur Beschattung zusammen gebaut. Es soll so funktionieren, dass Zwischen 6 und 21Uhr jede Minute der Max_KLux Wert der Wetterstation ausgelesen werden soll und nach einer Fallunterscheidung entschieden wird, ob die Beschattung aktiviert werden soll oder nicht. Danach startet jeweils ein Timeout von 10Min (Beschattung einschalten) oder 30Min (Beschattung ausschalten). Wenn der Lux Wert der Wetterstation über 45KLux übersteigt wird nach 10min geprüft ob der Wert weiterhin die 45KLux übersteigt, falls nicht sollen die Timeouts gestoppt werden und von vorne Anfangen. Das Gleiche halt nun wenn der Wert unter 45KLux ist. Je nach Fall sollten sich die Timeouts eigentlich gegenseitig aufheben, damit die Jalousien auch wirklich erst in den vorgegebenen Zeitfenstern fahren sollen. Nun das funktioniert auch nur Teilweise. Nach einiger Zeit laufen die Timeouts trotzdem wieder auf und die Jalousien fahren dann jede Minute hoch und runter....
Hier noch einmal ein Screenshot des Skripts:

Vllt. habe ich noch irgendeine Kleinigkeit übersehen/vergessen? Bzw. gibt es eine Lösung, dass ein Timeout nicht mehrfach im Hintergrund läuft, da der Stop Timeout befehlt wohl nicht alle Timeouts stoppen tut. -
Hallo zusammen,
ich habe in Blockly mir ein Skript zur Beschattung zusammen gebaut. Es soll so funktionieren, dass Zwischen 6 und 21Uhr jede Minute der Max_KLux Wert der Wetterstation ausgelesen werden soll und nach einer Fallunterscheidung entschieden wird, ob die Beschattung aktiviert werden soll oder nicht. Danach startet jeweils ein Timeout von 10Min (Beschattung einschalten) oder 30Min (Beschattung ausschalten). Wenn der Lux Wert der Wetterstation über 45KLux übersteigt wird nach 10min geprüft ob der Wert weiterhin die 45KLux übersteigt, falls nicht sollen die Timeouts gestoppt werden und von vorne Anfangen. Das Gleiche halt nun wenn der Wert unter 45KLux ist. Je nach Fall sollten sich die Timeouts eigentlich gegenseitig aufheben, damit die Jalousien auch wirklich erst in den vorgegebenen Zeitfenstern fahren sollen. Nun das funktioniert auch nur Teilweise. Nach einiger Zeit laufen die Timeouts trotzdem wieder auf und die Jalousien fahren dann jede Minute hoch und runter....
Hier noch einmal ein Screenshot des Skripts:

Vllt. habe ich noch irgendeine Kleinigkeit übersehen/vergessen? Bzw. gibt es eine Lösung, dass ein Timeout nicht mehrfach im Hintergrund läuft, da der Stop Timeout befehlt wohl nicht alle Timeouts stoppen tut. -
@enrico-w sagte: jede Minute
Wenn jede Minute getriggert wird, werden Timeouts > 1 Minute mehrfach gestartet und lassen sich nicht mehr stoppen. Verwende besser einen Zähler, der mit jedem Trigger hochgezählt wird.
@paul53 Ahh, gut hatte ich nicht erwartet. Ich habe gedacht, dass nach jeder Minute der Timeout von der letzten noch mit dem Stop Befehl aufgehoben werden kann. Gut, dann bastle ich mal das Skript auf einen Zähler um und melde mich dann nochmal mit dem Ergebnis. Vielen Dank für den Hinweis! :)
-
@paul53 Ahh, gut hatte ich nicht erwartet. Ich habe gedacht, dass nach jeder Minute der Timeout von der letzten noch mit dem Stop Befehl aufgehoben werden kann. Gut, dann bastle ich mal das Skript auf einen Zähler um und melde mich dann nochmal mit dem Ergebnis. Vielen Dank für den Hinweis! :)
@enrico-w sagte: dann bastle ich mal das Skript auf einen Zähler um
Verwende besser die Sonneneinstrahlung als Trigger mit folgendem Prinzip:

Keine weiteren Timer-Stopps und Prüfungen!
Die Auswertung von "vorheriger Wert" in der gezeigten Art verhindert die Mehrfachauslösung der Timer.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden