Moin,
in meiner ersten Logik möchte ich wissen ob
Hier zu habe ich die folgende conf
Und Logik
Das Ergebnis im Log sieht so aus
Das eingeschaltete Licht ist so definiert
Jetzt kommt die Frage :-)
Wie kann ich in der Zeile xyz (habe das davor geschrieben) den Namen des parent Elementes bekommen? Dann hätte ich "Badezimmer Licht Spiegel" anstelle nur des Names des Lichtes.
Danke und Gruß
René
in meiner ersten Logik möchte ich wissen ob
- Lichter an sind
- Wie viele Lichter an sind
- Die Namen der Items haben
Hier zu habe ich die folgende conf
Code:
# /usr/local/smarthome/items/Zentral.conf [zentral] name = Zentral [[zaehler]] name = Zähler sv_page = room [[[licht]]] name = Licht an type = bool visu = yes [[[[anzahl]]]] name = Anzahl eingeschalteter Lichter type = num visu = yes [[[[namen]]]] name = Eingeschaltete Lichter type = str visu = yes
Code:
#!/usr/bin/env python counter = [] # finde alle Lichter, die eingeschaltet sind (und nicht auf taster oder level enden) for item in sh.match_items('*.licht.*'): if item() and not item.id().endswith('taster') and not item.id().endswith('level') and not item.id().startswith('zentral'): counter.append(item) # ermittle licht bool wert if len(counter) > 0: sh.zentral.zaehler.licht(1) else: sh.zentral.zaehler.licht(0) # setze licht bool wert sh.zentral.zaehler.licht.anzahl(len(counter)) # ermittle Namen der Lichter, die eingeschaltet sind namen = "" for item in counter: parent_item = item.return_parent() if (parent_item != None): xyz namen += "' {0} {1}'".format(str(parent_item()), str(item)) # setze Namen der eingeschalteten Lichter sh.zentral.zaehler.licht.namen(namen) # Logging logger.info("Es sind {0} Lichter an. ( {1})".format(str(sh.zentral.zaehler.licht.anzahl()), sh.zentral.zaehler.licht.namen()))
Code:
2014-02-08 14:43:19 INFO Licht Es sind 1 Lichter an. ( ' None Licht Spiegel') 2014-02-08 14:43:23 INFO Licht Es sind 0 Lichter an. ( )
Code:
...[[badezimmer]] name = Badezimmer sv_page = room sv_img = scene_bathroom.svg [[[licht]]] name = Badezimmer [[[[spiegel]]]] name = Licht Spiegel type = bool knx_dpt = 1 knx_send = 2/0/8 knx_init = 2/4/8 sv_img = light_mirror.svg.svg
Wie kann ich in der Zeile xyz (habe das davor geschrieben) den Namen des parent Elementes bekommen? Dann hätte ich "Badezimmer Licht Spiegel" anstelle nur des Names des Lichtes.
Danke und Gruß
René
Kommentar