Hallo,
Kurzfassung: "Wie verhindere ich, dass ein eval_trigger beim Neustart von sh-ng ausgelöst wird?"
ich habe einen S0 Stromzähler, der von einer Merten Tasterschnittstelle abgefragt wird.
Diese hat einen Counter, der aber nur bis 65535 zählen kann. Danach fängt er wieder bei 0 an. Gleichzeitig sendet der Aktor einen Überlauf an einer zweiten GA, indem er deren Wert von True auf False ändert -oder umgekehrt.
Deshalb habe ich folgendes Konstrukt gebaut um einen richtigen Zähler daraus zu machen:
Das funktioniert soweit auch gut.
Allerdings wird "Bisherige Überläufe" bei jedem Neustart von sh.py um eins hochgezählt. Wie verhindere ich das?
Gruß,
Hendrik
Kurzfassung: "Wie verhindere ich, dass ein eval_trigger beim Neustart von sh-ng ausgelöst wird?"
ich habe einen S0 Stromzähler, der von einer Merten Tasterschnittstelle abgefragt wird.
Diese hat einen Counter, der aber nur bis 65535 zählen kann. Danach fängt er wieder bei 0 an. Gleichzeitig sendet der Aktor einen Überlauf an einer zweiten GA, indem er deren Wert von True auf False ändert -oder umgekehrt.
Deshalb habe ich folgendes Konstrukt gebaut um einen richtigen Zähler daraus zu machen:
Code:
Counter: name: Counter type: num cache: 'yes' sqlite: 'yes' knx_dpt: 7 enforce_updates: 'yes' knx_listen: 6/7/1 Ueberlauf: name: Counter type: bool sqlite: 'yes' knx_dpt: 1 knx_cache: 6/7/0 BisherigeUeberlaeufe: type: num eval: sh.Haustechnik.Stromzaehler.BisherigeUeberlaeufe() + 1 eval_trigger: Haustechnik.Stromzaehler.Ueberlauf sqlite: 'yes' FinalerCounter: type: num eval: sh.Haustechnik.Stromzaehler.Counter()+65535*sh.Haustechnik.Stromzaehler.BisherigeUeberlaeufe() eval_trigger: - Haustechnik.Stromzaehler.Counter - Haustechnik.Stromzaehler.BisherigeUeberlaeufe sqlite: 'yes'
Allerdings wird "Bisherige Überläufe" bei jedem Neustart von sh.py um eins hochgezählt. Wie verhindere ich das?
Gruß,
Hendrik
Kommentar