Antwort
Nov 14, 2022 - 09:31
Hi,
am besten erstellst du eine zusätzliche Systemvariable als Boolsche Variable.
Dann erstellst du den Task wie folgt:
Task:
Intervall alle 30 Minuten z.B.
Dann:
Falls Systemvariable = false
Dann tue etwas + Systemvariable = true.
So verhinderst du das dein Task immer wieder ausgeführt wird. Bedenke das die Variable auch in eine Task wieder auf false gesetzt werden muss damit der Task wieder auslöst.
Viele Grüße,
Michi
am besten erstellst du eine zusätzliche Systemvariable als Boolsche Variable.
Dann erstellst du den Task wie folgt:
Task:
Intervall alle 30 Minuten z.B.
Dann:
Falls Systemvariable = false
Dann tue etwas + Systemvariable = true.
So verhinderst du das dein Task immer wieder ausgeführt wird. Bedenke das die Variable auch in eine Task wieder auf false gesetzt werden muss damit der Task wieder auslöst.
Viele Grüße,
Michi
Von
Hi Michael,
so dachte ich mir das im Prinzip zuerst auch.
Nur habe ich damit ein grundsätzliches Problem. Bei meiner Logik gibt es 8 Aggregatzustände.
Ich wollte dies mit einer einzigen Systemvariable vom Typ String (Werte "1" - "8") lösen.
Diese Variable hätte ich dann innerhalb der Falls-Bedingung auf einen Wert gesetzt. Also z.B. Setzen der Systemvariable STATUS mit "1".
Und genau diesen Wert hätte ich vorher in der Falls-Abfrage auf "≠ 1" abgefragt.
Wenn also bei der Falls-Abfrage der Wert gleich "1" ist dann geht es erst gar nicht in die Falls-Bedingung rein.
Immer wenn es ein anderer Wert wäre würden die Befehle in der Falls-Abfrage ausgeführt.
So könnte ich mit dann die acht Falls-Abfragen bauen die ich mittels einer einzigen Systemvariable nutzen könnte.
Ich habe das mit Variablen vom Typ String versucht und bemerkt das es in aktuellen Neo-Server Versionen >= 2.8.0 nicht geht.
In alten Versionen z.B. 2.6.0 ging dies jedoch. Ich habe eine alte Logik die so schon lange läuft. Nach einen Update des AIO-Gateways V6Plus und somit des Neo Servers leider nicht mehr. Das ist erst spät aufgefallen da dieser Task im Sommer nicht läuft.
Wenn ich für jeden Aggregatzustand eine eigene Variable nutze dann wird es schnell unübersichtlich, weil ich ja immer die Abfragen dementsprechend bauen muss und dann irgendwo alle Variablen zurücksetzen muss.
Ich fand den Ansatz mit einer einzigen Variable für den Zweck eigentlich ganz gut. Zudem spare ich somit auch Ressourcen auf dem Gateway.
Meine aktuellen Tests haben ergeben das der Variablentyp "String" dafür nicht geeignet ist.
Mit dem Typ "Integer" scheint es zu gehen. Kannst Du das bestätigen ?
Ich nutze ein V6Plus mit Firmware 1.0.22 und dem Neo Server 2.9.0.
Viele Grüße
Jürgen
Von
Gibts hierzu noch ne Antwort von dem Kollegen Michael?
Neuen Kommentar hinzufügen