Hallo,
ich möchte in einer textual-rule die Liste aller things abarbeiten und suche nach einer Möglichkeit die ähnlich <group>.members.forEach[item|.. ist. Gibt es soetwas?
thing - members
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: thing - members
Kurze Antwort: Nein. (jedenfalls nicht in der DSL).
Lange Antwort: Man könnte natürlich auch in der DSL API Aufrufe einbauen. Der Aufwand steht aber in keinem Verhältnis, sprich, das wäre definitiv besser in einem externen Script aufgehoben.
Eventuell geht es über JRuby, Groovy oder JavaScript - es gibt dort mit things eine Instanz von org.openhab.core.thing.ThingRegistry, darüber sollte also eine Aufzählung aller im System vorhandenen Things zur Verfügung stehen. Allerdings habe ich zumindest in der offiziellen Doku bis auf die bloße Erwähnung nichts dazu gefunden...
https://www.openhab.org/javadoc/latest/ ... ngregistry erklärt den Zugriff, .getAll sollte eine Aufzählung liefern, da endet die Doku... vermutlich wird aber eine Liste mit Objekten zurückgeliefert, da müsste man dann halt schauen, ob man über diese Liste iterieren kann (things.getAll.forEach oder sowas in der Richtung)
Eine andere Frage wäre, wozu Du das brauchst.
Lange Antwort: Man könnte natürlich auch in der DSL API Aufrufe einbauen. Der Aufwand steht aber in keinem Verhältnis, sprich, das wäre definitiv besser in einem externen Script aufgehoben.
Eventuell geht es über JRuby, Groovy oder JavaScript - es gibt dort mit things eine Instanz von org.openhab.core.thing.ThingRegistry, darüber sollte also eine Aufzählung aller im System vorhandenen Things zur Verfügung stehen. Allerdings habe ich zumindest in der offiziellen Doku bis auf die bloße Erwähnung nichts dazu gefunden...
https://www.openhab.org/javadoc/latest/ ... ngregistry erklärt den Zugriff, .getAll sollte eine Aufzählung liefern, da endet die Doku... vermutlich wird aber eine Liste mit Objekten zurückgeliefert, da müsste man dann halt schauen, ob man über diese Liste iterieren kann (things.getAll.forEach oder sowas in der Richtung)
Eine andere Frage wäre, wozu Du das brauchst.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet