NEWS
Iterate through objects
-
Hallo, ist es irgendwie möglich mit for each durch iobroker Objekte zu iterieren oder geht das nur in Enums?
Ich habe z.B. diverse Shellys und möchte durch den Instanz-Folder iterieren um die External Temperaturen auszulesen ohne den Pfad zu kennen.
-
Das geht mit selectoren https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#---selector
z.B.:
$('state(functions="beleuchtung")(rooms="Haus.second_floor.badezimmer")').each(id=> {setState(id, true);}) const home = $('state[state.id=hm-rpc.1.*.LOW_BAT]'); let dev = $('state[state.id=shelly.*.hostname]') var cWindows = [$('state(functions=sensor)(functions=window)')];
Hab einfach wahllos beispiele aus meinen Skripts gewählt. Hab aber keine das so aussieht:
const home = $('state[state.id=hm-rpc.1.*.LOW_BAT](functions=sensor)');
sollte aber gehen. Liegt wohl daran, wenn ich in einer Datenpunkt gruppe suche unter einem Adapter braucht man keine function, da die bezeichnungen gleich sind.
-
@larsz sagte: geht das nur in Enums?
Das geht auch ohne Enums. Beispiel:
$('shelly.0.*.Temperature$').each(function(id) { // Auswertung});
-
Danke euch, super, das hilft!