Hallo zusammen,
ich habe vermutlich ein ganz banales Verständnisproblem mit eval und eval_trigger, mir fällt aber irgendwie keine korrekte Vorgehensweise ein.
Ich würde gerne mein Nacht_Tag item entweder über den Bus manuell oder automatisch über env.location.day, aber nur bei Übergang von Tag auf Nacht setzen.
Hierzu müsste ich wohl im Item den Trigger abfangen, um zu entscheiden ob das item über Eval getriggert wurde, oder ein manueller Eingriff erfolgt ist.
Ich gehe in dem Fall davon aus, dass die Property last_update_by schon vor Ausführung von eval aktuallisiert ist und ein Trigger über eval_trigger erst dann erfolgt, wenn der neue Wert des Caller Items schon geschrieben ist. Mit dem eval Syntax Prüfer komme ich an der Stelle nicht weiter. Der sagt name 'value' is not defined.
Stimmen meine Annahmen? Was mache ich falsch?
Danke für die Hilfe. Grüße Thomas
ich habe vermutlich ein ganz banales Verständnisproblem mit eval und eval_trigger, mir fällt aber irgendwie keine korrekte Vorgehensweise ein.
Ich würde gerne mein Nacht_Tag item entweder über den Bus manuell oder automatisch über env.location.day, aber nur bei Übergang von Tag auf Nacht setzen.
Hierzu müsste ich wohl im Item den Trigger abfangen, um zu entscheiden ob das item über Eval getriggert wurde, oder ein manueller Eingriff erfolgt ist.
Ich gehe in dem Fall davon aus, dass die Property last_update_by schon vor Ausführung von eval aktuallisiert ist und ein Trigger über eval_trigger erst dann erfolgt, wenn der neue Wert des Caller Items schon geschrieben ist. Mit dem eval Syntax Prüfer komme ich an der Stelle nicht weiter. Der sagt name 'value' is not defined.
Stimmen meine Annahmen? Was mache ich falsch?
Code:
Status: Nacht_Tag: type: bool visu_acl: rw knx_dpt: 1 knx_send: 0/2/10 knx_cache: 0/2/10 knx_listen: 0/2/11 cache: 'True' eval: value if not sh..self.property.last_update_by == "EVAL:env.location.day" else 0 if not sh.env.location.day() else None eval_trigger: env.location.day
Kommentar