Mein Quick-Hack gestern (nachdem ich per ETS das manuelle vom automatischen Licht anschalten per GA getrennt hatte):
item.conf
Code:
[Nachtmodus] type = bool visu = yes knx_dpt = 1 knx_cache = 0/4/3 [Wohnzimmer] [[Essbereich]] [[[Haengelampe]]] type = bool visu = yes knx_dpt = 1 knx_send = 2/1/204 knx_cache = 2/1/204 [[[[Automatikschalter]]]] type = bool enforce_updates = true knx_dpt = 1 knx_listen = 5/1/206 nacht_helligkeitswert = 40 [[[[Helligkeitswert]]]] type = num visu = yes knx_dpt = 5001 knx_send = 2/1/206 knx_cache = 2/1/206
Code:
[nachtbeleuchtung] filename = 'nachtbeleuchtung.py' watch_item = *.Automatikschalter
nachtbeleuchtung.conf
Code:
#!/usr/bin/env python if not sh.Nachtmodus: exit() source_item = sh.return_item(trigger['source']) # check if switching off (0) if not source_item: exit() # check for attribute if 'nacht_helligkeitswert' not in source_item.conf: logger.warning('LOGIC---{0}---: {1} lacks attribute \'nacht_helligkeitswert\''.format(logic.name, source_item)) exit() parent_item = source_item.return_parent() #if '{0}.Helligkeitswert'.format(parent_item) not in parent_item.return_children(): # logger.warning('LOGIC---{0}---: {1} lacks sibling {2}.Helligkeitswert'.format(logic.name, source_item, parent_item)) # exit() parent_item.Helligkeitswert(source_item.conf['nacht_helligkeitswert'])
- Etwas seltsam ist, dass man die Attribute von "logic" und "plugin" mit 'hasattr' checken kann, während "item" ein dictionary '.conf' verwendet. Vielleicht kann man das vereinheitlichen?
- Gibt es eine elegante Methode, ob ein Item ein Schwester-Item x hat? Also Umweg über 'return_parent()', dann aber nicht über 'return_children()' iterieren?
- Aufgrund der 'exit()' habe ich noch fiese Probleme mit der Zuverlässigkeit. Ich gehe stark davon aus, dass das mit https://knx-user-forum.de/smarthome-...telegramm.html zusammenhängt und mittlerweile im git bzw. Release 0.9 behoben ist (prüfe ich heute Abend)
Generell:
+ Das logic.py und die logic.conf sind schön kompakt (da kommt logischweise noch mehr hinzu).
+ Die Dimmwerte usw. sind unmittelbar dem Item zugeordnet (in der item.conf)
- Die Dimmwerte usw. sind unmittelbar dem Item zugeordnet (in der item.conf)
(ich bin mir gar nicht mehr so sicher ob das übersichtlicher ist...)
Grüße
Robert
Einen Kommentar schreiben: