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