NEWS
Steuere zu bestimmten Zeitpunkt ausführen.
-
Hi,
ich schalte die Temperatur für die Warmwassererzeugung meiner Wärmepumpe in Abhängigkeit von der Einspeisung zwischen 45 und 60 Grad hin und her um damit meinen Warmwasserspeicher als Energiespeicher zu verwenden.
Leider Spricht meine alte WP nur RS232 Seriell und benötigt zum Auslesen und umschalten immer einen Datenstring.
Ein Problem welches ich bisher nicht in den Griff bekommen habe ist das "Abfragescript" zum Beispiel per Cron alle 60 sekunden laufen zu lassen. Baue ich einen Cron für die Abfrage in das Script ein passiert es immer das der COM Port nicht sauber geschlossen wird und keine weiteren Abfragen mehr möglich sind.
Also starte ich mein Abfrage Script per weiterem Script komplett und beende es auch wieder damit der COM Port sauber geschlossen wird.
Um jetzt die Temperatur zu verändern muss ich damit es keine Kollision gibt den Befehl zur Temperatur Änderung dann absenden wenn nicht gerade eine Abfrage läuft.
Um das zu verhindern habe ich mir dieses Blockly gebaut was soweit schonmal klappt. (Geht bestimmt auch schöner aber ich bin halt kein Programmierer und werde es auch nicht mehr)
Problem ist jetzt das wenn zufällig der Zeitpunkt zum Umschalten gleich einer Abfrage ist das Umschalten nicht ausgeführt wird.
Wie kann ich sicherstellen das in diesem fall der Umschaltbefehl erneut gesendet wird?
Die Abfrage läuft übrigens jede 12te Sekunde, jede Minute.
Kann man etwas machen damit die beiden in den markierten immer erst zur 30te sekunde einer Minute ausgeführt werden wenn die bedingungen erfüllt sind?
Danke und Gruß
-
@wendy2702 Muss mich doch mal selber nach oben schubsen in der Hoffnung das jemand eine Idee hat.
-
@wendy2702 sagte in Steuere zu bestimmten Zeitpunkt ausführen.:
Kann man etwas machen damit die beiden in den markierten immer erst zur 30te sekunde einer Minute ausgeführt werden wenn die bedingungen erfüllt sind?
Die Bedingungen in einer wahr/falsch-Variablen speichern und als Reaktion auf den Trigger sowie bei Skriptstart diese Variable aktualisieren.
Getrennt davon einen CRON-Trigger nutzen und darin prüfen, ob die vorgenannte Variable true ist. Nur dann den Befehl ausführen.
-
@alcalzone OK.
Danke für den Gedankenanstoß. Werde mich daran versuchen.