NEWS
[Device||Channels -> Children]?
-
Was genau hast du vor?
Alle States unter einem Channel (in dem Beipsiel "hm-rpc.0.OEQ1234567.0") kannst du z.B. so ausgeben lassen:
let selector = $('channel[state.id=hm-rpc.0.OEQ1234567.0.*]'); selector.each(function (id, i) { log("State: " + id + " - Wert: " + getState(id).val); });
Man müsste ein bisschen genauer wissen was du vor hast um bessere Hilfestellung zu geben.
Gruß
-
Oh danke,
das hilft mir schon.
Ich habe diesen Selector zwar in der Doku gefunden allerdings 100%
die Funktionsweise versteh ich nicht bzw. Syntax.
Wie wäre denn die Syntax für den Selector,wenn man z.b. noch den type=boolean
einschränken möchte?
-
Dann musst du die "Suche" von Channel auf State ändern und noch [type=boolean] dran hängen..
Also so:
let selector = $('state[id=hm-rpc.0.OEQ1234567.0.*][type=boolean]'); selector.each(function (id, i) { log("State: " + id + " - Wert: " + getState(id).val); });
Gruß
-
ok danke
bei deinem ersten selector
let selector = $('channel[state.id=hm-rpc.0.OEQ1234567.0.*]');
bekomme ich jetzt alle States- Objekte die sich unter dem Device befinden,
aber im Device befinden sich noch 3 Channels, die erhalte ich selber aber nicht,
die States die sich darunter befinden aber schon.
Kann man die auch noch irgendwie abfragen?
Grüße
-
Was willst du mit den Channels machen?
Gruß
-
ich generiere mir dynamisch aus all meinen Auflistungen ein Telegrammenü ähnlich wie der iobroker.mobile das macht eben nur für den telegram adapter
-
Wäre das hier dann nicht eventuell was für dich?
https://github.com/ioBroker/ioBroker.ja … d#getenums
Gruß
-
ja, unter diesen enums
habe ich nicht nur states sondern eben komplettes Device gemappt. Die wie die oben beschriebene Struktur enthalten.
-
Den Channel von einem State kannst du "rausfinden" mit
id.slice(id.lastIndexOf("."))
Dann wird bei id (z.B. bla.0.channel.state) der letzte Punkt und alles was folgt entfernt..
Die Ausgabe wäre dann bla.0.channel … (in Verbindung mit dem Skript oben)
Du solltest überlegen ob deine Enums richtig bzw für dich sinnvoll strukturiert sind.
Ein wilder "Mischmasch" aus Channels/Devices/States in den enums verkompliziert die ganze Sache.
Gruß
-
vielen Dank erst mal! Vielleicht hast du recht und ich hab die Verwendung der Aufzählungen falsch verstanden und man darf nur states rein schieben
aber für mich hat es durchaus Sinn in meine Auflistung z.b. Wohnzimmer mein
Sonoff device und shelly device zu adden und nicht nur einzelne States der Geräte wir PowerOn oder Rollo runter.
und diese Devices haben dann halt unterschiedliche Strukturen: