NEWS
Frage zu "getIdByName()
-
@paul53 sagte in Frage zu "getIdByName():
log(getIdByName("Echo-Schlafzimmer"));
script.js.TEST.ss99: undefined
-
@muetzeheinrich sagte: script.js.TEST.ss99: undefined
Das Objekt mit dem Namen "Echo-Schlafzimmer" existiert?
-
@muetzeheinrich
Komisch: Ich habe es gerade mit einem Device-Namen "Echo-Schlafzimmer" getestet und es funktioniert."das gibst doch nicht" war meine erste Reaktion! Irgendwo muss aber ein Unterschied sein ..
{ "from": "system.adapter.alexa2.0", "user": "system.user.admin", "ts": 1613250245358, "common": { "name": "Echo-Schlafzimmer", "read": true, "write": false, "icon": "icons/echo_dot3.png" }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "alexa2.0.Echo-Devices.G090Xxxxxxxxxxxxx", "type": "device" }log(getIdByName("Echo-Schlafzimmer")); erzeugt :
22:35:01.450 info javascript.0 (25703) script.js.TEST.ss99: undefinedich weis gerade nicht weiter .
-
"das gibst doch nicht" war meine erste Reaktion! Irgendwo muss aber ein Unterschied sein ..
{ "from": "system.adapter.alexa2.0", "user": "system.user.admin", "ts": 1613250245358, "common": { "name": "Echo-Schlafzimmer", "read": true, "write": false, "icon": "icons/echo_dot3.png" }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "alexa2.0.Echo-Devices.G090Xxxxxxxxxxxxx", "type": "device" }log(getIdByName("Echo-Schlafzimmer")); erzeugt :
22:35:01.450 info javascript.0 (25703) script.js.TEST.ss99: undefinedich weis gerade nicht weiter .
Versuch mit "EchoSchlafzimmer gibt die ID wieder..
25703) script.js.TEST.ss99: alexa2.0.Echo-Devices.G090XG1103xxxxxxx -
Versuch mit "EchoSchlafzimmer gibt die ID wieder..
25703) script.js.TEST.ss99: alexa2.0.Echo-Devices.G090XG1103xxxxxxx -
@muetzeheinrich sagte: Versuch mit "EchoSchlafzimmer gibt die ID wieder..
Starte mal nach Änderung in "Echo-Schlafzimmer" die Javascript-Instanz neu. Es ist offenbar ein Puffer-Problem.
@paul53 sagte in Frage zu "getIdByName():
Starte mal nach Änderung in "Echo-Schlafzimmer" die Javascript-Instanz neu.
javascript.0 2021-02-13 23:03:40.095 info (13206) script.js.TEST.ss99: registered 0 subscriptions and 0 schedules javascript.0 2021-02-13 23:03:40.094 info (13206) script.js.TEST.ss99: undefined javascript.0 2021-02-13 23:03:40.086 info (13206) Start javascript script.js.TEST.ss99 -
@paul53 sagte in Frage zu "getIdByName():
Starte mal nach Änderung in "Echo-Schlafzimmer" die Javascript-Instanz neu.
javascript.0 2021-02-13 23:03:40.095 info (13206) script.js.TEST.ss99: registered 0 subscriptions and 0 schedules javascript.0 2021-02-13 23:03:40.094 info (13206) script.js.TEST.ss99: undefined javascript.0 2021-02-13 23:03:40.086 info (13206) Start javascript script.js.TEST.ss99 -
@paul53 sagte in Frage zu "getIdByName():
Starte mal nach Änderung in "Echo-Schlafzimmer" die Javascript-Instanz neu.
javascript.0 2021-02-13 23:03:40.095 info (13206) script.js.TEST.ss99: registered 0 subscriptions and 0 schedules javascript.0 2021-02-13 23:03:40.094 info (13206) script.js.TEST.ss99: undefined javascript.0 2021-02-13 23:03:40.086 info (13206) Start javascript script.js.TEST.ss99@muetzeheinrich sagte: script.js.TEST.ss99: undefined
Mit?
log(getIdByName("Echo-Schlafzimmer"));Ich habe "Echo-Schlafzimmer" in "Aussen / Garten" geändert und erst nach Neustart der Javascript-Instanz funktionierte
log(getIdByName('Aussen / Garten')); -
@muetzeheinrich sagte: script.js.TEST.ss99: undefined
Mit?
log(getIdByName("Echo-Schlafzimmer"));Ich habe "Echo-Schlafzimmer" in "Aussen / Garten" geändert und erst nach Neustart der Javascript-Instanz funktionierte
log(getIdByName('Aussen / Garten'));! zuerst mal für vielen Dank für deine Zeit.
Es ist so, wie du es geschrieben hast. Wenn die Javascript-Instanz nach umbennen von Namen neu gestartet wird, dann klappt es. Vielleicht wird ein cache neu erzeugt - habe es heute noch ein paar mal hin und her probiert. Sehr wahrscheinlich habe gestern die falsche JS-Instanz neu gestartet.
Das löst leider mein ursprüngliches Problem der mehrfach vorkommenden Gerätenamen nicht. Ich habe nur wenig Javascript Kenntnis, für if then else reicht es aber :-) .
Mit Versuch und Irrtum ist nun diese Blockly-Funktion entstanden , vielleicht geht es auch sicherer / einfachervar arr = getIdByName(echodot); if (arr != null) { for (var i = 0; i < arr.length; i++) { if (arr[i].indexOf("Echo-Devices") > -1) { setState(arr[i] + '.Player.volume', volume) } } } else { log ("Echo nicht vorhanden") }
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

