Ich bin zwar kein Alexa* power User aber hier und da nutze ich sie ja doch.
So war ich am überlegen wir ich das ganze ohne zusätzliche Cloud Anbindung (was mir ganz lieb war), kostenlos und trotzdem noch einfach zu handhaben mache.
Ich wurde von paar anderen ioBroker User darauf hingewiesen das mit dem Node-Red Node
node-red-contrib-amazon-echo das ganze recht gut zu handhaben wäre.
So bin ich dann auf die Lösung gekommen das ich die Daten von Alexa* über Node-Red in einen ioBroker Datenpunkt schreibe und diesen dann mit einen Script innerhalb von ioBroker verarbeite.
Der Node-Red Flow
Ich habe wie hier zu sehen, habe ich paar Emulierte Alexa* Endpunkte angelegt die als Gerät dann von der Alexa* gefunden werden.
Wie hier zu sehen gibt Name den Rufnamen für Alexa an, und Topic das Device in ioBroker.
Wobei das Device ohne Datenendpunkt angeben wird, da dieses automatisch anhand den gesprochenen Aktion durch das Script ermittelt wird.
Mehr muss ich dann für neue Device Integrationen im Node-Red dann nicht mehr vornehmen, da Node-Red hier nur das Bindeglied zwischen Alexa und ioBroker ist.
Das Script
Hier einmal das Repo.
legt diese drei Datenpunkte innerhalb von ioBroker an.
- Database
- das Mapping vom ioBroker Device zum Alexa Device (für das Script)
- die Datenbank baut sich selbständig auf, und erweitertet sich mit jeden neuen angesprochenen Device
- Input
- der Input von Node-Red (hier lausch der Script drauf)
- Output
- der Output vom Script für Alexa (hier lausch Node-Red drauf)
Das Script unterstützt zur Zeit vier Aktionen.
- bri
- Helligkeit (Dimmen)
- hue
- Licht Farbe
- ct
- ColorTemp (Licht Temperatur)
- on
- An / Aus
Zu diesen Zeitpunkt werden die Adapter Zigbee und Wled unterstützt, wenn man einen weiteren Adapter hinzufügen will, muss nur das Device Type Datapoint Mapping erweitert werden.
So sieht das aktuelle Device Type Datapoint Mapping aus
const deviceTypeDatapointMap = { zigbee: { bri:{ dp:'brightness', min:0, max:100 }, hue:'color', ct:'colortemp', on:'state' }, wled: { bri:{ dp:'bri', min:0, max:254 }, hue:'seg.0.col.0_HEX', ct:'', on:'on' } }
Hier noch einmal das Mapping etwas aufgeschlüsselt
zigbee: { // Adapter Kennung zur Erkennung (wie z.B. zigbee.0.588e81fffed3eddd) bri: { // Brightness dp: 'brightness',// Der Datenpunkt min: 0, // Das minimale Brightness Level max: 100 // Das maximale Brightness Level }, hue: 'color', // Der Licht Farben Datenpunkt ct: 'colortemp', // Der Licht Temperatur Datenpunkt on: 'state' // Der State Datenpunkt }
Was mir doch etwas den Kopf zerbrochen hatte, war dass Problem das Alexa es nicht mitbekommen hatte wenn ein Device von einen anderen Eingabegeräte gesteuert wurde.
Was zum teil echt wilde Effekte hatte…
Nun habe ich das Script so aufgebaut, dass dieses sich die angesprochenen Devices merkt und die relevanten Datenpunkte abonniert und an Alexa meldet.
Das klappt auch erstaunlich gut 🙂
Die Integration
Also nochmal kurz zusammen gefasst wie man das Ganze zum laufen bekommt.
Als erstes muss der Script im Javascript Adapter kopieren, ggf. erweitert und dann gestartet werden, so das die erforderlichen Datenpunkte angelegt werden.
Nun sollte das Node node-red-contrib-amazon-echo installier, der Flow in Node-Red importiert und die Devices angepasst werden, wichtig ist hier zu beachten das dass Node-Red als ioBroker Adapter installiert wurde da dort sonst die Verbindung zu ioBroker Fehlt.
Hier einmal mein Flow
[{"id":"f520be9d.1dc9","type":"amazon-echo-hub","z":"c3b4a742.7ec8e8","port":"80","processinput":"1","discovery":true,"x":390,"y":100,"wires":[["bec28245.0485d"]]},{"id":"12424426.64e0cc","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Schreibtisch","topic":"wled.0.600194397548","x":150,"y":220,"wires":[["da72efb5.3fb53"]]},{"id":"13048f09.53d481","type":"ioBroker out","z":"c3b4a742.7ec8e8","name":"To ioBroker","topic":"0_userdata.0.AlexaToNodeRed.Input","ack":"true","autoCreate":"false","stateName":"","role":"","payloadType":"","readonly":"","stateUnit":"","stateMin":"","stateMax":"","x":370,"y":40,"wires":[]},{"id":"bf06c3c3.d66a2","type":"function","z":"c3b4a742.7ec8e8","name":"Move object to payload","func":"const obj = msg;\nmsg.payload = JSON.stringify(obj);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":170,"y":40,"wires":[["13048f09.53d481"]]},{"id":"71a7122.e1281ec","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Bett","topic":"zigbee.0.588e81fffefea724","x":590,"y":220,"wires":[["9d1e7e55.0631c"]]},{"id":"da72efb5.3fb53","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":395,"y":220,"wires":[]},{"id":"9d1e7e55.0631c","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":715,"y":220,"wires":[]},{"id":"94b7dda8.2227c","type":"link in","z":"c3b4a742.7ec8e8","name":"Alexa to ioBroker","links":["291e6b41.b12fa4","313d132a.7daf4c","316940f1.4439e","38679977.16dbc6","3da05cbf.2ab6c4","773bb6db.03d6a8","9d1e7e55.0631c","a3dafcaa.c63a1","da72efb5.3fb53","e0b9d63d.579fd8","f8fe003.a7ea2","7d9b5204.b6bcbc","309ff20.878b90e"],"x":35,"y":40,"wires":[["bf06c3c3.d66a2"]]},{"id":"f6239bff.1e5658","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Arbeitsplatte","topic":"zigbee.0.group_3","x":630,"y":460,"wires":[["3da05cbf.2ab6c4"]]},{"id":"3da05cbf.2ab6c4","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":775,"y":460,"wires":[]},{"id":"268b65c2.91523a","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Kueche","topic":"zigbee.0.group_5","x":620,"y":540,"wires":[["e0b9d63d.579fd8"]]},{"id":"e0b9d63d.579fd8","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":775,"y":540,"wires":[]},{"id":"31c81738.2c4878","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Kinderzimmer","topic":"zigbee.0.842e14fffe1f08e7","x":160,"y":460,"wires":[["313d132a.7daf4c"]]},{"id":"313d132a.7daf4c","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":415,"y":460,"wires":[]},{"id":"6c3fca80.bcf604","type":"comment","z":"c3b4a742.7ec8e8","name":"-=====- Büro -=====-","info":"","x":120,"y":180,"wires":[]},{"id":"a9401a4b.16c118","type":"comment","z":"c3b4a742.7ec8e8","name":"-=====- Schlafzimmer -=====-","info":"","x":610,"y":180,"wires":[]},{"id":"199239f2.f09616","type":"comment","z":"c3b4a742.7ec8e8","name":"-=====- Küche -=====-","info":"","x":600,"y":420,"wires":[]},{"id":"84b286c4.7ddab8","type":"comment","z":"c3b4a742.7ec8e8","name":"-=====- Kinderzimmer -=====-","info":"","x":150,"y":420,"wires":[]},{"id":"5f29e87d.624588","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Betthimmel","topic":"zigbee.0.8418260000101f8c","x":150,"y":500,"wires":[["316940f1.4439e"]]},{"id":"316940f1.4439e","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":415,"y":500,"wires":[]},{"id":"b22939b9.2122f8","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Disco","topic":"zigbee.0.841826000010328a","x":130,"y":540,"wires":[["38679977.16dbc6"]]},{"id":"38679977.16dbc6","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":415,"y":540,"wires":[]},{"id":"33524969.696fe6","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Kinderzimmer Weinachtsbeleuchtung","topic":"zigbee.0.group_4","x":230,"y":580,"wires":[["f8fe003.a7ea2"]]},{"id":"f8fe003.a7ea2","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":415,"y":580,"wires":[]},{"id":"b8c09fd9.f9b7f","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Kueche Decke","topic":"zigbee.0.group_1","x":640,"y":500,"wires":[["773bb6db.03d6a8"]]},{"id":"773bb6db.03d6a8","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":775,"y":500,"wires":[]},{"id":"79a3431c.7feeec","type":"ioBroker in","z":"c3b4a742.7ec8e8","name":"From ioBroker","topic":"0_userdata.0.AlexaToNodeRed.Output","payloadType":"value","onlyack":"","func":"all","gap":"","fireOnStart":"false","x":90,"y":100,"wires":[["bc1c9d7a.b276"]]},{"id":"bc1c9d7a.b276","type":"json","z":"c3b4a742.7ec8e8","name":"","property":"payload","action":"obj","pretty":true,"x":230,"y":100,"wires":[["f520be9d.1dc9"]]},{"id":"7b020572.fdc3bc","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Stimmungslicht","topic":"zigbee.0.588e81fffee73f29","x":160,"y":260,"wires":[["7d9b5204.b6bcbc"]]},{"id":"7d9b5204.b6bcbc","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":395,"y":260,"wires":[]},{"id":"6607386b.ae8ec8","type":"amazon-echo-device","z":"c3b4a742.7ec8e8","name":"Buero","topic":"","x":130,"y":300,"wires":[["c12425d0.763328","71c6f4eb.6105cc"]]},{"id":"309ff20.878b90e","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["94b7dda8.2227c","5a9743c7.77e37c"],"x":395,"y":300,"wires":[]},{"id":"c12425d0.763328","type":"change","z":"c3b4a742.7ec8e8","name":"Schreibtisch","rules":[{"t":"set","p":"topic","pt":"msg","to":"wled.0.600194397548","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":300,"wires":[["309ff20.878b90e"]]},{"id":"71c6f4eb.6105cc","type":"change","z":"c3b4a742.7ec8e8","name":"Stimmungslicht","rules":[{"t":"set","p":"topic","pt":"msg","to":"zigbee.0.588e81fffee73f29","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":280,"y":340,"wires":[["309ff20.878b90e"]]},{"id":"4ebe2cf4.9c0ca4","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":220,"wires":[["12424426.64e0cc"]]},{"id":"bec28245.0485d","type":"link out","z":"c3b4a742.7ec8e8","name":"","links":["4ebe2cf4.9c0ca4","feeefb83.a07058","6b74fc29.886e94","4956d3ba.4fe6ac","923c2f60.a9e7b","eafe64cc.9f0a88","6bc19740.053f58","924f5827.4f8748","5a81cd46.c47ba4","46fd591d.2052b8","5e857a86.953c64"],"x":515,"y":100,"wires":[]},{"id":"feeefb83.a07058","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":260,"wires":[["7b020572.fdc3bc"]]},{"id":"6b74fc29.886e94","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":300,"wires":[["6607386b.ae8ec8"]]},{"id":"4956d3ba.4fe6ac","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":495,"y":220,"wires":[["71a7122.e1281ec"]]},{"id":"923c2f60.a9e7b","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":515,"y":460,"wires":[["f6239bff.1e5658"]]},{"id":"eafe64cc.9f0a88","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":515,"y":500,"wires":[["b8c09fd9.f9b7f"]]},{"id":"6bc19740.053f58","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":515,"y":540,"wires":[["268b65c2.91523a"]]},{"id":"924f5827.4f8748","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":460,"wires":[["31c81738.2c4878"]]},{"id":"5a81cd46.c47ba4","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":500,"wires":[["5f29e87d.624588"]]},{"id":"46fd591d.2052b8","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":540,"wires":[["b22939b9.2122f8"]]},{"id":"5e857a86.953c64","type":"link in","z":"c3b4a742.7ec8e8","name":"","links":["bec28245.0485d"],"x":35,"y":580,"wires":[["33524969.696fe6"]]}]
Viel Spaß beim probieren 🙂
Mit * markierte Links sind Amazon ParnerNet Affiliate Links
25 Kommentare
Gordon Lehmann · 30. Juli 2024 um 16:56
Erstmal super Erklärung, vielen Dank dafür! bis jetzt klappt alles. Die eingerichteten Geräte werden geschaltet nur halt nicht die physischen Geräte die ich habe. Doch habe ich kein WLED und wie bekomme ich meine einzelnen Zigbee Geräte da rein!? Die Geräte haben ja eine von dir übernommene ID. Wo kann ich die Geräte IDs in dem Flow ändern !?
Alexander · 24. November 2023 um 22:09
Hallo,
ich habe ein paar Befehle von einer Fernbedienung über einen Broadlink angelernt. Ich habe also keine Geräte im ioBroker, sondern zwei Buttons (z.B. Licht an, Licht aus). Wie kann ich deine Vorlage nutzen, um die Steuerung über ioBroker zu nutzen.
Michael · 23. Juli 2023 um 15:07
Hallo, danke für das Script. Inzwischen haben sich die Datenpunkte der Zigbee Geräte geändert, sodass das Script nicht mehr funktioniert. Hier die benötigten Änderungen: https://pastebin.com/hApHQtF5
Michael · 31. Januar 2023 um 15:58
Hallo idlepit, Hallo iobroker-user,
ich bin echt am verzweifeln 🙁 Ich bekomme die unten gezeigten Meldung/Errors und krieg sie einfach nicht weg, was scheinbar zu einer Fehlfunktion der Lösung führt. Wen ich das richtig verstanden habe, sollte sich ein Datenbank aufbauen mit entsprechenden virtuellen DP wo die Anweisungen, die aus Alexa kommen gespeichert werden, die dann wiederum in iobroker über ein script weiterverarbeitet werden können. Leider kann ich diese Zuordnung nicht finden, bzw. sie wird nicht erzeugt. Kann mir bitte jemand helfen.
Viele Grüße
Michael
2023-01-31 15:21:46.983 – info: admin.0 (787682) ==> Connected system.user.admin from ::ffff:192.168.178.92
2023-01-31 15:41:32.088 – info: javascript.0 (782008) script.js.common.Alexa_variablen: {„deviceDP“:“CustomBlind“,“deviceType“:“CustomBlind“,“deviceAlexaID“:“5009dbef2acc18f9″,“state“:true,“brightness“:254,“percentage“:“100″,“colorTempMired“:199,“colorTemp“:“5025″,“colorMode“:“ct“,“hue“:0,“sat“:1,“colorHex“:“#ff0000″,“triggerKeys“:[„on“]}
2023-01-31 15:41:32.101 – error: javascript.0 (782008) Error in callback: TypeError: Cannot read properties of undefined (reading ‚on‘)
2023-01-31 15:41:32.101 – error: javascript.0 (782008) at Object. (script.js.common.Alexa_variablen:62:74)
2023-01-31 15:41:32.101 – error: javascript.0 (782008) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
2023-01-31 15:41:32.101 – error: javascript.0 (782008) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
2023-01-31 15:41:32.101 – error: javascript.0 (782008) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56)
2023-01-31 15:41:32.102 – error: javascript.0 (782008) at processImmediate (node:internal/timers:471:21)
2023-01-31 15:47:54.412 – info: admin.0 (787682) ==> Connected system.user.admin from ::ffff:192.168.178.92
2023-01-31 15:48:38.736 – info: admin.0 (787682) <== Disconnect system.user.admin from ::ffff:192.168.178.92 javascript
Jürgen · 4. September 2022 um 15:09
Hallo. Super Arbeit und genau das was ich gesucht habe.
Script und Flow haben auf Anhieb funktioniert.
Da ich verschiedene Systeme nutze ( Zigbee,Sonnoff (Tasmota), Homematic usw.)habe ich das Script schon um folgende Zeile erweitert:
sonoff: { bri:“, hue:“, ct:“, on:’POWER‘ }
Das funktioniert auch perfekt.
Jetzt würde ich gerne eine Zeile für den Homatic-Adapter (hm-rpc) hinzufügen.
Wenn ich aber folgende Zeile hinzufüge:
hm-rpc: { bri:“, hue:“, ct:“, on:’STATE‘ }
erhalte ich im Java-Script-Adapter folgende Fehlermeldung:
„AlexaNodeRedImporter compile failed“
Hier wird als Fehler auf den Bindestrich (minus)(-) zwischen hm und rpc verwiesen.
Gibt es hierfür eine Lösung? Wäre für jeden Tip Dankbar….
Christian · 15. August 2022 um 17:34
Hallo, toller Ansatz der mir das Leben erleichtern würde. Funktioniert das „nur“ mit dem echo, oder bekomme ich meine Sonos speaker mit Alexa Integration auch irgendwie dazu die Lampen aus dem zigbee Adapter zu schalten?
Wenn ich Alexa bitte neue Geräte zu suchen, kommt immer sie hat keine neuen Geräte gefunden.
Die 3 Datenpunkte legt mir das Script an – diese sind leer bis auf die geschwungenen Klammern im Database DP.
Viele Grüße
IdleBit · 15. August 2022 um 21:30
Hi,
ich selbst nutze auch Sonos mit Alexa Integration.
Ich habe mal einen Beispiel Flow ins Repo gepackt:
https://github.com/o0shojo0o/AlexaNodeRedImporter_Script/blob/main/NodeRedExampleFlow.js
Hoffe das Hilft dir weiter.
Christian · 16. August 2022 um 07:04
Vielen Dank für die schnelle Antwort – ich bekomme es nicht zum laufen.
Ich habe das Script kopiert, im iob javascript Adapter ein neues Javascript erstellt und dort den kopierte Scriptsode eingefügt – keine weiteren Anpassungen gemacht.
Wenn ich das Script aktiviere, werden mir die 3 Datenpunkte erstellt.
In Node-Red habe ich mir den Flow von oben importiert und auf meine Geräte angepasst (Testweise mal zwei – also aus Deinem Bespielflow einfach den Namen für das Gerät und den zigbee Datenpunktpfad abgeändert). Skript neu gestartet, NodeRed Adapter neu gestartet und Alexa gebeten nach neuen Geräten zu suchen – Antwort „ich habe keinen neuen Geräte gefunden“ Hab ich was übersehen? Vielen Dank für Deine Unterstützung..
IdleBit · 16. August 2022 um 09:18
Auf die Erkennung von Alexa Devices hat das Script kein Einfluss, das macht alles der Node-Red Teil.
Wenn du da Probleme hast musst du hier mal schauen https://github.com/datech/node-red-contrib-amazon-echo#requirements
Christian · 16. August 2022 um 11:06
Vielen Dank – hab ich mir angeschaut – das sollte alles passen. Du nutzt ja auch den Node-Red Adapter vom iobroker, oder? Somit sollte das Ausführen als root kein Problem darstellen.
In NodeRed wird mir unter dem „Amazon Echo Hub“ der grüne Punkt – Verbindung sollte also auch hier passen. Vielleicht liegt mein Problem im Verständnis des Ablaufs.Wenn ich alles fertig eingerichtet habe, müsste Alexa auf meine Frage nach der Suche nach neuen Geräten eigentlich die neuen Geräte die ich in Node-Red definiert habe finden, oder? Ich muss keine weiteren Anpassungen machen im Script, nur in Node-Red die Geräte anpassen also die DP aus dem zigbee Adapter z.B. zigbee.0.group_1 und fertig. Sorry für die vielen Nachfragen, finde Deine Arbeit super und würde die gerne bei mir integrieren. Viele Grüße
IdleBit · 16. August 2022 um 12:30
Ja da hast du alles richtig gemacht, kann es sein das Du dein ioBroker bzw. Node-Red in einen anderen Netzwerk hast wie deine Alexen (iot Netz oder so?)
Christian · 16. August 2022 um 16:31
Habe die im gleichen Netz hängen wie den iobroker Rechner – jeweils über Ethernetkabel. Muss ich ggf. am Router noch was freigeben bzgl. Port? Die Datenpunkte bleiben wie gesagt komplett leer – nur beim ersten Datenpunkt ist die geschwungene Klammer drin aber weiter nichts. Im Node-Red habe ich einen grünen Punkt mit online dahinter – also müsste der doch eine Verbindung haben…. mann mann mann… wäre zu schön gewesen….
Christian · 16. Oktober 2022 um 22:55
Nachdem ich nun zusätzlich noch einen echo dot ins System gepackt habe funktioniert es nun auch bei mir.😀 Zumindest passt es zeitlich – keine Ahnung ob das final tatsächlich daran lag. Vielen Dank für Deine Arbeit. Hast Du noch einen Tipp, wie ich ggf. Datenpunkte schalten könnte die im iobroker unter 0_userdata liegen? Zum einen meckert das Skript anscheinen wegen dem 0_ vor dem userdata wenn ich das DeviceType DataPoint Mapping anpassen will und zum anderen habe ich dort ja nur den tatsächlichen Datenpunktnamen also nicht einen separaten state dp oder ähnliches. Gruß
Dennis · 20. Februar 2022 um 00:49
Moin! und vielen Dank für das Script. Leider kriege ich es nicht zum laufen und erhalte immer folgenden Fehler, wenn ich per Alexa einen Befehl an die Lampe sende:
error at processImmediate (internal/timers.js:464:21)
error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5708:41)
error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38)
error at Object. (script.js.AlexaToNodeRed.script:45:18)
error Error in callback: TypeError: Cannot read property ‚zigbee.0.0017880108d6c898‘ of null
Hatte jemand ein ähnliches Problem und könnte mir weiterhelfen? Besten Dank!
IdleBit · 20. Februar 2022 um 13:13
Moin,
der Fehler ist hier zu sehen
error Error in callback: TypeError: Cannot read property ‚zigbee.0.0017880108d6c898‘ of null
Das Script versucht auf
zigbee.0.0017880108d6c898
was aber anscheinend nicht vorhanden ist.Für weiter Fragen ist vielleicht besser GitHub geeignet -> https://github.com/o0shojo0o/AlexaNodeRedImporter_Script/issues
Zilo · 15. Januar 2022 um 10:51
Leider habe ich von JavaScript wenig Ahnung. Dennoch funktioniert Dein Skript bei mir, bis auf eine „Seltsamkeit“. Denn in der Funktion „rgbToCie(red, green, blue)“ sind bei mir bei mir „x“ und „y“ rot unterstrichen. Fahre ich mit der Maus darüber kommt die folgende Fehlermeldung:
Argument of type ’string‘ is not assignable to parameter of type ’number‘.(2345)
let x: string
Dann fiel mir auf, dass ich die Farbe angelernter (also echt vorhandene) Hue Birnen nicht ändern kann. Ich musste über den ioBroker bei „zigbee.0..color“ aus dem dortigen Standardwert „(null)“ erst irgendeinen Farbwert (z. B. 200) händisch eintragen. Von nun an kann ich über Alexa „auch“ die Farbe ändern.
Da ich von JavaScript keine Ahnung habe, kann ich nur vermuten, dass der Typ „x“ und „y“ nicht klar definiert sind (wohl als „string“ anstelle „number“). Vielleicht kannst Du mir ja mal antworten, was ich hier falsch mache oder ob es ein kleiner Bug ist, den Du korrigieren kannst.
Ansonsten super vielen Dank für diese tolle Lösung (!).
Bob · 27. Januar 2022 um 15:54
@Zilo: Script einfach ein weiteres Mal ausführen – Dann verschwindet der Fehler
Marco · 5. Dezember 2021 um 17:05
Sehr coole Script,
könnte man auch sonoff (Tasmota) Geräte mit den Sonoff Adapter (Mqtt) steuern
Habe da eine Zeile eingefügt aber die funktioniert nicht :
sonoff: { bri:“, hue:“, ct:“, on:’True‘ }
Marco · 5. Dezember 2021 um 17:10
Meine sehr cooles Script,
habe den Fehler gefunden die Zeile ist :
sonoff: { bri:“, hue:“, ct:“, on:’POWER‘ }
IdleBit · 5. Dezember 2021 um 18:14
Topp, hast es ja schon herausgefunden 🙂
Kai · 9. November 2021 um 08:18
Wenn ich über den Alexa Zigbee Hub Geräte verbunden habe, kann ich dann auch außerhalb (bspw. über einen Raspberry PI mit node red) auf diese zugreifen?
schraubzwinge · 16. Oktober 2021 um 09:00
Hallo,
klingt super! Wo ist denn dein Zigbee gateway?
Kann ich das gateway aus einer alexa echo show 8 nutzen um über iobroker zu steuern? bzw weisst du ob das alexa gateway auch ohne Internet geht? Oder muss zwingend das gateway am iobroker hängen?
damge.
IdleBit · 16. Oktober 2021 um 23:41
Alexa braucht immer Internet, da die Intelligenz von Alexa in der Cloud bei Amazon hängt.
Und ja das Gateway muss an ioBroker hängen.
Markus · 18. September 2021 um 08:32
Hallo tolles Script !!! DANKE
Was muss ich zu Alexa sagen das sie die Farbtemperatur ändert??
IdleBit · 18. September 2021 um 15:23
Schön das es gefällt.
Sagen musst Du da z.B. „Alexa Deckenlampe wärmer“ oder „Alexa Deckenlampe kälter“.