Hallo zusammen,
wir ihr euch denken könnt habe ich ein Problem...
Ich habe eine Logik aufgebaut die auf ein Item nennen wir es A reagiert. Wenn ich die Logik dann mit z.B. Item B = 1 versehe, klappt das problemlos. Sogar Item A = 1 funktioniert.
Wenn ich aber jetzt von Item A den aktuellen Wert erfrage, z.B. für eine if-Anweisung oder eine while-Schleife, dann startet die Logik nicht (bzw. bringt kein Ergebnis). Egal auf welches Item ich ändere.
Hier die Codeschnipsel dazu:
Item Bewegungsmelder.unten (diverseitems.conf):
Die Eigenschaften von Item A (1/5/0) siehe Bild (Schalten -- 1.001)
So funktioniert es, wie programmiert (Bewegungsmelderunten.py - Variante 1):
So funktioniert es nicht, egal welchen Wert 1/5/0 hat (Bewegungsmelderunten.py - Variante 2):
Der Vollständigkeit halber auch noch die logic.conf:
Ich habe vorher schonmal eine andere Logik erstellt, die ähnlich arbeitet. Diese funktioniert tadellos. Der einzige Unterschied ist der Datentyp - bei der funktionierenden Logik ist das ein Temperaturwert.
Hat jemand eine Idee oder das Wissen, woran es hier liegen kann? Ich weiß aktuell nicht, was ich noch ausprobieren soll oder wo ich noch suchen soll (Internet). In der Log wird keine Fehler rein geschrieben, wenn es ausgeführt werden müsste.
Wenn ihr weitere Infos braucht einfach fragen...
Vielen Dank schon einmal für eure Hilfe.
Grüße
Johannes
wir ihr euch denken könnt habe ich ein Problem...
Ich habe eine Logik aufgebaut die auf ein Item nennen wir es A reagiert. Wenn ich die Logik dann mit z.B. Item B = 1 versehe, klappt das problemlos. Sogar Item A = 1 funktioniert.
Wenn ich aber jetzt von Item A den aktuellen Wert erfrage, z.B. für eine if-Anweisung oder eine while-Schleife, dann startet die Logik nicht (bzw. bringt kein Ergebnis). Egal auf welches Item ich ändere.
Hier die Codeschnipsel dazu:
Item Bewegungsmelder.unten (diverseitems.conf):
Code:
[Bewegungsmelder] [[unten]] type = bool knx_dpt = 1 knx_init = 1/5/0 knx_cache = 1/5/0 history = true visu_acl = rw enforce_updates = yes
So funktioniert es, wie programmiert (Bewegungsmelderunten.py - Variante 1):
Code:
#logic Bewegungsmelderunten.py sh.eg.Flur.Licht.schalten(1)
Code:
#logic Bewegungsmelderunten.py if Bewegungsmelder.unten() = 1: sh.eg.Flur.Licht.schalten(1)
Der Vollständigkeit halber auch noch die logic.conf:
Code:
[Bewegungsmelderunten] filename = Bewegungsmelderunten.py watch_item = Bewegungsmelder.unten
Hat jemand eine Idee oder das Wissen, woran es hier liegen kann? Ich weiß aktuell nicht, was ich noch ausprobieren soll oder wo ich noch suchen soll (Internet). In der Log wird keine Fehler rein geschrieben, wenn es ausgeführt werden müsste.
Wenn ihr weitere Infos braucht einfach fragen...
Vielen Dank schon einmal für eure Hilfe.
Grüße
Johannes
Kommentar