Moin @paul53
Hier mein Problem nochmal bildlich dargestellt:
einmalID.jpg
Ich zähle hier die Auslöser und setze die ID in eine variable, ich logge diese direkt nach dem trigger und direkt im "exec" befehlsblock.
Dies zeigt deutlich, dass eben zwei Auslöser rein kommen, jedoch dann leider beide mit den selben variablen arbeiten, weil der zweite Auslöser diese schneller ändert als die Aktion braucht um durchzuführen.
Einzige sinnvolle Lösung die mir einfällt, ich muss die Zeit zwischen den Auslösungen des triggers erhöhen.
Aktuell knapp unter 30ms und die Zeit vom triggern bis zur Ausführung sind etwa 350ms.
Um sicher zu gehen, würde ich eine Verzögerung vom 500ms beim aktualisieren der DP aus der API einbauen, was bei 5 räumen schon eine Verzögerung von zwei Sekunden bedeuten würde…
Gibt es eine Alternative wie ich dies anders vielleicht besser lösen kann?
EDIT: zur Verständnis, der Sinn dieses triggers ist es bei Änderung einer soll Temperatur eines Raumes, zu prüfen ob hier ein Fenster geöffnet ist, um dann dementsprechend die Temperatur zu regeln.
Wenn ein Heizplan so eingestellt ist, dass die Heizung im kompletten Haus um z.B. 16uhr auf 22grad springt (warum auch immer) oder eine Anwesenheitsschaltung die Temperatur im ganzen Haus regelt, bedeutet dies eben eine schnelle kurze Aktualisierung aller DPs.
Wenn in drei von sechs Räumen ein Fenster geöffnet ist, läuft somit die Aktion im trigger 3mal komplett durch, aber die variablen werden 6 mal neu gesetzt um überhaupt die zugehörigen Fenster zu ermitteln.
Hier muss natürlich sichergestellt sein, dass die variablen für jeden durchlauf des triggers korrekt gesetzt sind, damit die Temperatur in jedem Raum korrekt geschaltet werden kann.
Vielen Dank für jede Hilfe. 🙏