Item Methoden update

Die grundsätzlichen Methoden, die jedes Item hat, sind unter Items beschrieben. Darüber hinaus stehen die nachfolgend beschrieben Methoden zum Handling von Items zur Verfügung.

Die Nutzung des SmartHomeNG Objektes sh ist dabei als veraltet anzusehen. Die richtige Methode ist die Nutzung des Item API. Das items Objekt kann wie folgt genutzt werden:

from lib.item import Items
items = Items.get_instance()

Nun können folgende Funktionen aufgerufen werden:

return_item(path)

Liefert das Item Objekt für den angegebenen Pfad zurück.

items.return_item('erdgeschoss.flur')

return_items()

Liefert sämtliche definierten Item Objekte zurück.

for item in items.return_items():
    logger.info(item.id())

match_items(regex)

Liefert alle Items zurück, die der Regular Expression, dem Pfad und dem optionalen Attribut entsprechen.

for item in items.match_items('*.licht'):
    # Selektiere alle Items, deren Pfad mit 'licht' endet
    logger.info(item.id())

for item in items.match_items('*.licht:special'):
    # Selektiere alle Items, deren Pfad mit 'licht' endet und die das Attribut 'special' haben
    logger.info(item.id())

find_items(configattribute)

In Abhängigkeit von configattribute werden wie folgt Items zurückgeliefert:

Attribut Ergebnis
Attribut Nur Items ohne Angabe von Instanz Kennung
Attribut@ Items mit und ohne Instanz Kennung
Attribut@Instanz Items mit exakter Übereinstimmung von Attribut und Instanz Kennung
@Instanz Items die mit dieser Instanz Kennung definiert worden sind
for item in items.find_items('my_special_attribute'):
    logger.info(item.id())

find_children(parentitem, configattribute)

Diese Funktion liefert ausgehend vom Item parentitem alle Items mit passendem configattribute. Dabei wird die Suche nach dem Attribut exakt so ausgeführt wie in der Funktion find_items(configattribute) zuvor beschrieben.