Ich möchte mittels Items ermitteln, wann es das letzte Mal wie lange geregent hat. Hier hatte ich schon andere Ansätze im Forum mittels Datenbank, aber irgendwie ging das nicht. Nun möchte ich das mit Items probieren. Gleich dabei habe ich mich auch über die neuen Properties gefreut. Vor allem, weil die Property-Namen wesentlich besser passen (siehe Funktion: last_change und prev_value). Das ist bei den Properties besser.
So sieht das mit den Funktionen aus:
Mit den Properties sähe das denn so aus:
Leider wird der relative Item-Pfad nicht so recht aufgelöst. Oder, was mache ich falsch?
So sieht das mit den Funktionen aus:
Code:
Regen:
type: bool
knx_dpt: 1
knx_cache: 4/3/0
visu_acl: rw
database: yes
Regen_Dauer:
type: num
eval: (sh...Regen_Ende() - sh...Regen_Beginn()).total_seconds() if sh...Regen_Ende() is not None and sh...Regen_Beginn() is not None else None
eval_trigger: ..Regen_Ende
Regen_Beginn:
type: foo
cache: yes
eval: sh....Regen.last_change() if sh....Regen() and not sh....Regen.prev_value() else None
eval_trigger: ...Regen
Regen_Ende:
type: foo
cache: yes
eval: sh....Regen.last_change() if not sh....Regen() and sh....Regen.prev_value() else None
eval_trigger: ...Regen
Mit den Properties sähe das denn so aus:
Code:
Regen_Beginn:
type: foo
cache: yes
eval: sh....Regen.property.last_change if sh....Regen() and not sh....Regen.property.last_value else None
eval_trigger: ...Regen
Leider wird der relative Item-Pfad nicht so recht aufgelöst. Oder, was mache ich falsch?
Code:
2019-07-22 18:14:54 WARNING lib.item Item Zentral.Wetter.Wetterstation.Regen.Regen_Beginn: problem evaluating sh.Zentral.Wetter.Wetterstation.Regen.property.last_change if sh....Regen() and not sh.Zentral.Wetter.Wetterstation.Regen.property.last_value else None: invalid syntax (<string>, line 1)


Kommentar