NEWS
[Gelöst] Mal wieder IDs vom Selektor
-
Ich sitze gerade an einem Problem. Verstehe ich einfach nicht. Ich habe folgendes Blockly:

Das funktioniert einwandfrei. Ich bekomme u. a. den Ger
ä
tename zum zugeh
ö
rigen State.Dasselbe m
ö
chte ich mit meinen HMIP-Fensterkontakten machen:
Kommt aber kein Name zur
ü
ck, nur die Objekt ID:javascript.0 2021-03-11 20:29:04.809 info (343) script.js.common.Tests.Test_3: hmip.0.devices.3014F****.channels.1.windowOpenWas mache ich falsch?
-
Ich sitze gerade an einem Problem. Verstehe ich einfach nicht. Ich habe folgendes Blockly:

Das funktioniert einwandfrei. Ich bekomme u. a. den Ger
ä
tename zum zugeh
ö
rigen State.Dasselbe m
ö
chte ich mit meinen HMIP-Fensterkontakten machen:
Kommt aber kein Name zur
ü
ck, nur die Objekt ID:javascript.0 2021-03-11 20:29:04.809 info (343) script.js.common.Tests.Test_3: hmip.0.devices.3014F****.channels.1.windowOpenWas mache ich falsch?
@ofbeqnpolkkl6mby5e13 sagte: hmip.0.devices.
Das ist ein anderer Adapter mit wahrscheinlich einer anderen Objektstruktur als hm-rpc.
-
@ofbeqnpolkkl6mby5e13 sagte: hmip.0.devices.
Das ist ein anderer Adapter mit wahrscheinlich einer anderen Objektstruktur als hm-rpc.
@paul53
Ja, das ist richtig (Siehe Spoiler). Aber der Aufruf geht doch, Objekt ID wird zur
ü
ckgeliefert. -
@paul53
Ja, das ist richtig (Siehe Spoiler). Aber der Aufruf geht doch, Objekt ID wird zur
ü
ckgeliefert.@ofbeqnpolkkl6mby5e13 sagte: Objekt ID wird zur
ü
ckgeliefert.Wie sieht die Objektstruktur aus? Ich kenne nur hm-rpc.
-
@ofbeqnpolkkl6mby5e13 sagte: Objekt ID wird zur
ü
ckgeliefert.Wie sieht die Objektstruktur aus? Ich kenne nur hm-rpc.
@paul53
Siehe zweiter Spoiler. -
@paul53
Siehe zweiter Spoiler.@ofbeqnpolkkl6mby5e13
Da ist noch der Ordner "channels" zwischen "device" und "channel". Deshalb funktioniert es nicht. -
@ofbeqnpolkkl6mby5e13
Da ist noch der Ordner "channels" zwischen "device" und "channel". Deshalb funktioniert es nicht.@paul53
Dachte ich mir schon fast. Wie kann man das l
ö
sen? -
@paul53
Dachte ich mir schon fast. Wie kann man das l
ö
sen?@ofbeqnpolkkl6mby5e13 sagte: Wie kann man das l
ö
sen?Mit einer JS-Funktion mit Ergebnis:
id = id.substring(0, id.lastIndexOf('.')); id = id.substring(0, id.lastIndexOf('.')); id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id)) return getObject(id).common.name;EDIT: Schlie
ß
ende Klammer korrigiert.
-
@ofbeqnpolkkl6mby5e13 sagte: Wie kann man das l
ö
sen?Mit einer JS-Funktion mit Ergebnis:
id = id.substring(0, id.lastIndexOf('.')); id = id.substring(0, id.lastIndexOf('.')); id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id)) return getObject(id).common.name;EDIT: Schlie
ß
ende Klammer korrigiert.
@paul53
Muss ich noch was anpassen?javascript.0 2021-03-11 21:04:13.491 error (343) at processImmediate (internal/timers.js:458:21) javascript.0 2021-03-11 21:04:13.491 error (343) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1238:17) javascript.0 2021-03-11 21:04:13.491 error (343) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1722:17 javascript.0 2021-03-11 21:04:13.491 error (343) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1621:37) javascript.0 2021-03-11 21:04:13.490 error (343) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1383:28) javascript.0 2021-03-11 21:04:13.490 error (343) at Object.createScript (vm.js:263:10) javascript.0 2021-03-11 21:04:13.490 error (343) at new Script (vm.js:88:7) javascript.0 2021-03-11 21:04:13.489 error (343) SyntaxError: missing ) after argument list javascript.0 2021-03-11 21:04:13.489 error (343) ^ javascript.0 2021-03-11 21:04:13.489 error (343) id = id.substring(0, id.lastIndexOf('.'); javascript.0 2021-03-11 21:04:13.488 error (343) script.js.common.Tests.Test_3 compile failed: at script.js.common.Tests.Test_3:5 -
@paul53
Muss ich noch was anpassen?javascript.0 2021-03-11 21:04:13.491 error (343) at processImmediate (internal/timers.js:458:21) javascript.0 2021-03-11 21:04:13.491 error (343) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1238:17) javascript.0 2021-03-11 21:04:13.491 error (343) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1722:17 javascript.0 2021-03-11 21:04:13.491 error (343) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1621:37) javascript.0 2021-03-11 21:04:13.490 error (343) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1383:28) javascript.0 2021-03-11 21:04:13.490 error (343) at Object.createScript (vm.js:263:10) javascript.0 2021-03-11 21:04:13.490 error (343) at new Script (vm.js:88:7) javascript.0 2021-03-11 21:04:13.489 error (343) SyntaxError: missing ) after argument list javascript.0 2021-03-11 21:04:13.489 error (343) ^ javascript.0 2021-03-11 21:04:13.489 error (343) id = id.substring(0, id.lastIndexOf('.'); javascript.0 2021-03-11 21:04:13.488 error (343) script.js.common.Tests.Test_3 compile failed: at script.js.common.Tests.Test_3:5@ofbeqnpolkkl6mby5e13 sagte in Mal wieder IDs vom Selektor:
id = id.substring(0, id.lastIndexOf('.');
Es fehlt noch eine Klammer hinten:
id = id.substring(0, id.lastIndexOf('.')); -
@paul53
Muss ich noch was anpassen?javascript.0 2021-03-11 21:04:13.491 error (343) at processImmediate (internal/timers.js:458:21) javascript.0 2021-03-11 21:04:13.491 error (343) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1238:17) javascript.0 2021-03-11 21:04:13.491 error (343) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1722:17 javascript.0 2021-03-11 21:04:13.491 error (343) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1621:37) javascript.0 2021-03-11 21:04:13.490 error (343) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1383:28) javascript.0 2021-03-11 21:04:13.490 error (343) at Object.createScript (vm.js:263:10) javascript.0 2021-03-11 21:04:13.490 error (343) at new Script (vm.js:88:7) javascript.0 2021-03-11 21:04:13.489 error (343) SyntaxError: missing ) after argument list javascript.0 2021-03-11 21:04:13.489 error (343) ^ javascript.0 2021-03-11 21:04:13.489 error (343) id = id.substring(0, id.lastIndexOf('.'); javascript.0 2021-03-11 21:04:13.488 error (343) script.js.common.Tests.Test_3 compile failed: at script.js.common.Tests.Test_3:5@ofbeqnpolkkl6mby5e13 sagte: missing ) after argument list
Sorry, habe schlie
ß
ende Klammern vergessen: Ist oben korrigiert. -
@ofbeqnpolkkl6mby5e13 sagte: missing ) after argument list
Sorry, habe schlie
ß
ende Klammern vergessen: Ist oben korrigiert.@paul53
Das hatte ich auch schon versucht, aber dann kommt:javascript.0 2021-03-11 21:19:49.768 error (343) at Script.runInContext (vm.js:131:20) javascript.0 2021-03-11 21:19:49.767 error (343) at script.js.common.Tests.Test_3:34:3 javascript.0 2021-03-11 21:19:49.767 error (343) at script.js.common.Tests.Test_3:31:2 javascript.0 2021-03-11 21:19:49.767 error (343) script.js.common.Tests.Test_3: ReferenceError: obj is not defined -
@paul53
Das hatte ich auch schon versucht, aber dann kommt:javascript.0 2021-03-11 21:19:49.768 error (343) at Script.runInContext (vm.js:131:20) javascript.0 2021-03-11 21:19:49.767 error (343) at script.js.common.Tests.Test_3:34:3 javascript.0 2021-03-11 21:19:49.767 error (343) at script.js.common.Tests.Test_3:31:2 javascript.0 2021-03-11 21:19:49.767 error (343) script.js.common.Tests.Test_3: ReferenceError: obj is not defined@ofbeqnpolkkl6mby5e13 sagte: ReferenceError: obj is not defined
Wo wird die Variable obj verwendet?
Erzeugter Javascript-Code? -
@ofbeqnpolkkl6mby5e13 sagte: ReferenceError: obj is not defined
Wo wird die Variable obj verwendet?
Erzeugter Javascript-Code?@paul53
Ach Mist, ein freischwebendes "Objekt ID" vergessen zu deaktivieren. :man-facepalming: -
@ofbeqnpolkkl6mby5e13 sagte: ReferenceError: obj is not defined
Wo wird die Variable obj verwendet?
Erzeugter Javascript-Code?javascript.0 2021-03-11 21:25:14.031 info (343) script.js.common.Tests.Test_3: Fenster RechtsGanz herzlichen Dank!

-
Ich habe noch mal eine Frage, die nur indirekt mit IDs vom Selektor zusammenh
ä
ngt. Wenn ich alle Mitglieder (members) einer Aufz
ä
hlung mit der id "enum.functions.Button" ausgeben will, dann kann ich das problemlos im Selektor mit (functions=Button) machen.
Aber wie adressiert man eine verschachtelte Aufz
ä
hlung wie "enum.functions.house.light"? -
Ich habe noch mal eine Frage, die nur indirekt mit IDs vom Selektor zusammenh
ä
ngt. Wenn ich alle Mitglieder (members) einer Aufz
ä
hlung mit der id "enum.functions.Button" ausgeben will, dann kann ich das problemlos im Selektor mit (functions=Button) machen.
Aber wie adressiert man eine verschachtelte Aufz
ä
hlung wie "enum.functions.house.light"?@ofbeqnpolkkl6mby5e13 sagte: wie adressiert man eine verschachtelte Aufz
ä
hlung wie "enum.functions.house.light"?Ich habe zwar keine "verschachtelten" Aufz
ä
hlungen, aber funktioniert es nicht mit (functions=house.light)?
Ich w
ü
rde auch nicht verschachteln, sondern "enum.rooms.house" zuweisen. -
@ofbeqnpolkkl6mby5e13 sagte: wie adressiert man eine verschachtelte Aufz
ä
hlung wie "enum.functions.house.light"?Ich habe zwar keine "verschachtelten" Aufz
ä
hlungen, aber funktioniert es nicht mit (functions=house.light)?
Ich w
ü
rde auch nicht verschachteln, sondern "enum.rooms.house" zuweisen.@paul53
Nein, das funktioniert leider nicht.Ich muss ein Zweifamilienhaus mit 3 Wohnungen abdecken. Ohne eine strukturierte Aufz
ä
hlung bin ich "verloren". -
@paul53
Nein, das funktioniert leider nicht.Ich muss ein Zweifamilienhaus mit 3 Wohnungen abdecken. Ohne eine strukturierte Aufz
ä
hlung bin ich "verloren".@ofbeqnpolkkl6mby5e13 sagte: Ohne eine strukturierte Aufz
ä
hlung bin ich "verloren".Die Aufz
ä
hlungen sind nicht f
ü
r "Verschachtelung" ausgelegt. Man kann h
ö
chstens
ü
ber die Namen strukturieren, z.B. mittels Unterstrich im Namen "house_light". -
@ofbeqnpolkkl6mby5e13 sagte: Ohne eine strukturierte Aufz
ä
hlung bin ich "verloren".Die Aufz
ä
hlungen sind nicht f
ü
r "Verschachtelung" ausgelegt. Man kann h
ö
chstens
ü
ber die Namen strukturieren, z.B. mittels Unterstrich im Namen "house_light".@paul53
Okay, danke!Allerdings stellt sich dann schon die Frage, weshalb man die dann
ü
berhaupt verschachteln kann...
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden