Ich möchte beim Öffnen eines Fensters geschossweise den Status "ein Fenster ist offen setzen". Wenn alle Fenster zu sind, soll der Status "alle Fenster zu" gesetzt werden.
Das funktioniert für das EG, aber nicht für das OG und ich verstehe nicht, warum:
Alle items mit "fenster" triggern die Logik fenster.py:
Das funktioniert problemlos im EG:
Im OG wird die Logik zwar getriggert, macht aber nichts:
Irgendwas an meinem Python-Code ist falsch - aber ich steh' gerade auf dem Schlauch...
Das funktioniert für das EG, aber nicht für das OG und ich verstehe nicht, warum:
Alle items mit "fenster" triggern die Logik fenster.py:
Code:
# logic.conf [fenster_status] filename = fenster.py watch_item = *.*.fenster*
Code:
#!/usr/bin/env python # GA Status Fenster EG/OG setzen # "ZU" (1/True) wenn alle Fenster im Geschoss geschlossen sind # "AUF" (0/False) wenn irgendein Fenster im Geschoss offen ist status_eg = True status_og = True for item in sh.match_items('eg.*.fenster*'): if not item: status_eg = False if status_eg: sh.eg.fenster('on') else: sh.eg.fenster('off') for item in sh.match_items('og.*.fenster*'): if not item: status_og = False if status_og: sh.og.fenster('on') else: sh.og.fenster('off')
Code:
[eg] name = Erdgeschoss [[fenster]] name = "Fenster EG" type = bool knx_dpt = 1 knx_status = 4/1/31 # GA mit dem Status für alle Fenster EG (...) [[az]] name = Arbeitszimmer (...) [[[fenster]]] name = "Fenster AZ" type = bool knx_dpt = 1 knx_cache = 4/1/9
Code:
2014-08-10 17:46:32,445 DEBUG Main Item eg.az.fenster = False via KNX 1.1.31 4/1/9 -- item.py:__update:363 2014-08-10 17:46:32,452 DEBUG Main Triggering fenster_status - by: Item source: eg.az.fenster dest: None value: False -- scheduler.py:trigger:162 2014-08-10 17:46:32,464 DEBUG fenster_status Item eg.fenster = False via Logic None None -- item.py:__update:363 2014-08-10 17:46:32,500 DEBUG Main knx: 1.1.254 set 4/1/31 to 00 -- __init__.py:parse_telegram:181
Code:
[og] name = Obergeschoss [[fenster]] name = "Fenster OG" type = bool knx_dpt = 1 knx_status = 4/1/32 # GA mit dem Status für alle Fenster OG (...) [[sz]] name = Schlafzimmer (...) [[[fenster]]] name = "Fenster SZ" type = bool knx_dpt = 1 knx_cache = 4/1/15
Code:
2014-08-10 17:46:57,657 DEBUG Main Item og.sz.fenster = False via KNX 1.1.81 4/1/15 -- item.py:__update:363 2014-08-10 17:46:57,665 DEBUG Main Triggering fenster_status - by: Item source: og.sz.fenster dest: None value: False -- scheduler.py:trigger:162
Kommentar