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