Jetzt stehe ich vor dem nächsten Problem: Das Item wie ich es in meinem vorherigen Post beschrieben hatte funktioniert leider nicht.
Anscheinend enthält value im eval Ausdruck den Wert von Wetterstation.Temperatur.Aktuell und nicht mehr den alten Wert von Wetterstation.Temperatur.Maximum_Heute
deshalb hab ich das Item wie folgt angepasst (Zugriff auf den letzen Wert des Items Maximum_Heute über die Property last_value:
Code:
Wetterstation:
Temperatur:
Aktuell:
type: num
knx_dpt: 9
visu_acl: ro
knx_init: 1/2/3
database: 'yes'
Maximum_Heute:
type: num
visu_acl: ro
# 99.9 wird als "Magic Number" für den Reset verwendet. Diese Temperatur sollte in der Praxis nie vorkommen.
eval: sh...Aktuell() if value == 99.9 or float(sh..self.property.last_value()) < sh...Aktuell() else float(sh..self.property.last_value())
eval_trigger: ..Aktuell
crontab:
- 0 3 * * = 99.9
- init = 99.9
Code:
2020-05-20 17:24:39 WARNING lib.item Item Wetterstation.Temperatur.Maximum_Heute: problem evaluating sh.Wetterstation.Temperatur.Aktuell() if value == 99.0 or float(sh.Wetterstation.Temperatur.Maximum_Heute.property.last_value()) < sh.Garten.Wetterstation.Temperatur.Aktuell() else float(sh..self.property.last_value()): 'int' object is not callable
Eine Internetrecherche hat ergeben, dass Bei Fehlern der Art 'int' object is not callable in der Regel eine methode den selben Namen hat wie eine Variable. Aber leider reichen meine Python-Skills nicht aus, um dahinterzusteigen was ich falsch mache.


Einen Kommentar schreiben: