NEWS
[gelöst] Selector $ findet States mit Raum-An...
-
Hallo zusammen,
ich habe Probleme mit dem Selector in meiner Installation, die ich mir nicht erklären kann:
Wenn ich nach States *.1.SET_TEMPERATURE suche findet er alle, Testhalber lass ich mir die Räume und Funktionen ausgeben:
log("Alle States"); $('channel[state.id=*.1.SET_TEMPERATURE]').each(function (id, i) { var status = getState(id).val; var obj = getObject(id); var roomsX = getObject(id, 'rooms'); var functionsX = getObject(id, 'functions'); log(id+" | "+roomsX.enumNames+" | "+functionsX.enumNames); }); Ausgabe: 20:04:50.491 info javascript.0 script.js.common.test: Alle States 20:04:50.491 info javascript.0 script.js.common.test: hm-rpc.0.MEQ1773015.1.SET_TEMPERATURE | Bad | Thermostate 20:04:50.491 info javascript.0 script.js.common.test: hm-rpc.0.MEQ1450924.1.SET_TEMPERATURE | Gaestezimmer | Thermostate 20:04:50.491 info javascript.0 script.js.common.test: hm-rpc.0.MEQ1452909.1.SET_TEMPERATURE | Wohnzimmer | Thermostate 20:04:50.491 info javascript.0 script.js.common.test: hm-rpc.0.MEQ1773431.1.SET_TEMPERATURE | Flur | Thermostate 20:04:50.491 info javascript.0 script.js.common.test: hm-rpc.0.MEQ1773490.1.SET_TEMPERATURE | Esszimmer | Thermostate 20:04:50.491 info javascript.0 script.js.common.test: hm-rpc.0.MEQ1457539.1.SET_TEMPERATURE | Kueche | Thermostate
Nun versuche ich dem Selector einen Raum mitzugeben
log("Nur Esszimmer"); $('channel[state.id=*.1.SET_TEMPERATURE](rooms=Esszimmer)').each(function (id, i) { var status = getState(id).val; var obj = getObject(id); var roomsX = getObject(id, 'rooms'); var functionsX = getObject(id, 'functions'); log(id+" | "+roomsX.enumNames+" | "+functionsX.enumNames); }); Ausgabe: 20:04:50.491 info javascript.0 script.js.common.test: Nur Esszimmer
Ich habe Esszimmer auch klein versucht, auch die volle enumid kommt immer aufs gleiche hinaus.
Interessanterweise habe ich es in anderen Script ähnlich und es läuft.Was muss ich eigentlich generell bei rooms/functions beim selector eintragen den Namen oder den letzten part der id?
Woran kann das legen, hat jemand eine Idee?
-
-
Danke Schon mal, das Hauptproblem besteht jedoch weiterhin.
Hier noch ein Screenshot von den Objekten, korrekt angelegt ist es.
-
@echoDave
Der Raum "Esszimmer" ist dem Datenpunkt zugeordnet, nicht dem Kanal. Also muss der Selektor anders aussehen.$('state[id=*.1.SET_TEMPERATURE](rooms=esszimmer)')
Welche Thermostate haben den Sollwert auf dem Kanal 1 ?
-
@paul53 o.O das macht jetzt natürlich total Sinn
danke jetzt wird mir einiges klar.
Das sind die MAX!(BC-RT-TRX-CyN) Thermostate über Homegear eingebunden in ioBroker.