Mit Cmd warten mit Timer wenn keine änderung des state?

Begonnen von Steffen, 11 Oktober 2017, 08:09:26

Vorheriges Thema - Nächstes Thema

Steffen

Guten Morgen!

Also mit dem Timer auf dem zweiten If klappt soweit, aber das wahre ist es auch nicht, denn er führt ja dann bei änderung der Bedingung das cmd 1 wieder aus und das bedeutet "({Heating_Control_SetAllTemps()}" wird ausgeführt und meine Manuelle einstellungen werden dadurch verändert ganz zu schweigen von den benachrichtigungen.

Ich dachte es gäbe ein Funktion in Doif die bei einer erneuten Bedingung im dem Timer ganz einfach ein Timer löschen könnte.

Mfg Steffen

Otto123

Moin,

wie schon gesagt, mein Ansatz wäre mehrstufig. Vielleicht gibt es auch eine andere Lösung, aber ich kenne sie nicht.

Wenn Du zunächst in einem DOIF den gewünschten Status Deiner Heizung ermittelst kannst Du in einer zweiten Funktion (DOIF oder notify) die Vorgänge auslösen. Die zweite Funktion reagiert auf einen Event bei der Veränderung eines readings der ersten Funktion. Mit event-on-change-reading wird verhindert das ein Event erzeugt wird wenn das reading mehrfach auf den gleichen Wert gesetzt wird.
Ich hoffe das war verständlich?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz