Hi!
In diesem Thread https://knx-user-forum.de/smarthome-...achdimmen.html wird schon über verschiedene Lösungen für die Nachtbeleuchtung diskutiert. Von allgemeinen Interesse könnte aber sein (und ich habe es in der Doku nicht gefunden), ob man die Liste der "watch_item" dynamisch aktualisieren (also neue items hinzufügen bzw. löschen) kann.
Sinn: Ich habe überall in meiner Item-Struktur Einträge, die ein Attribut "night_brightness" haben. Nur diese möchte ich gegebenenfalls überwachen (watch_item). Ich möchte in der Logik nicht bei jedem Trigger erst nachgucken, ob das Attribut vorhanden ist.
- Plugin hört auf ein spezielles item (Aktivierung)
- wenn item true, dann werden per list = sh.find_items('night_brightness') alle passenden items selektiert.
- per setattr(logic,'watch_item',list) die watch_item aktualisiert
- wenn Aktivierungsitem false, dann alle bis auf Aktivierungsitem aus der Liste entfernen.
Funktioniert das? Wird die Logik dann zuverlässig getriggert? Oder wird watch_item nur beim initialisieren einmal eingelesen?
Alternativ:
Eine Logik mit einem watch_item, die eine andere Logik ein- und ausschaltet. Dann wäre es aber eben toll, wenn man in der Logik-Config nicht nur Wildcards für das Selektieren verwenden könnte, sondern dass auch noch abhängig von dem Vorhandensein eines Attributs machen könnte, ähnlich eben "find_items". Kann man evtl. in der Config ein "watch_item = sh.find_items('night_brightness')" benutzen/einbauen?
Grüße
Robert
In diesem Thread https://knx-user-forum.de/smarthome-...achdimmen.html wird schon über verschiedene Lösungen für die Nachtbeleuchtung diskutiert. Von allgemeinen Interesse könnte aber sein (und ich habe es in der Doku nicht gefunden), ob man die Liste der "watch_item" dynamisch aktualisieren (also neue items hinzufügen bzw. löschen) kann.
Sinn: Ich habe überall in meiner Item-Struktur Einträge, die ein Attribut "night_brightness" haben. Nur diese möchte ich gegebenenfalls überwachen (watch_item). Ich möchte in der Logik nicht bei jedem Trigger erst nachgucken, ob das Attribut vorhanden ist.
- Plugin hört auf ein spezielles item (Aktivierung)
- wenn item true, dann werden per list = sh.find_items('night_brightness') alle passenden items selektiert.
- per setattr(logic,'watch_item',list) die watch_item aktualisiert
- wenn Aktivierungsitem false, dann alle bis auf Aktivierungsitem aus der Liste entfernen.
Funktioniert das? Wird die Logik dann zuverlässig getriggert? Oder wird watch_item nur beim initialisieren einmal eingelesen?
Alternativ:
Eine Logik mit einem watch_item, die eine andere Logik ein- und ausschaltet. Dann wäre es aber eben toll, wenn man in der Logik-Config nicht nur Wildcards für das Selektieren verwenden könnte, sondern dass auch noch abhängig von dem Vorhandensein eines Attributs machen könnte, ähnlich eben "find_items". Kann man evtl. in der Config ein "watch_item = sh.find_items('night_brightness')" benutzen/einbauen?
Grüße
Robert
Kommentar