NEWS
Lichterkette in Node-Red + Alexa
-
Hi,
jahrelang lief meine "Kette" im node-red. Hatte sie mit amazon-alexa-echo node verbunden.
Eingebunden ist sie über phoscon/deconz - und hängt an nem gledopto zigbee device.
In deconz wird alles gefunden und ich kann ihn auch darüber steuern.Alexa über node red funktioniert leider nicht mehr.
Zuerst lag es wohl daran, dass sowohl alexa und auch deconz auf port 80 funken. Also hab ich den deconz port verlegt und alexa hatte auch wieder die Geräte gefunden.
Nun geht wieder nichts.
Zwischendurch mal den VST plugin verwendet....auch nix....
Alexa findet zwar das gerät, aber es läßt sich nicht steuern.Vielleicht habe ich irgendwo nen Fehler?
Node-RED: 1 Dec 15:22:56 - [error] [vsh-virtual-device:Kette] TypeError: Cannot read properties of undefined (reading 'hue') at colorChangingLightDecorator (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-virtual-smart-home/device-types.js:482:22) at emitLocalState (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-virtual-smart-home/virtual-device.js:48:17) at VirtualDeviceNode._inputCallback (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-virtual-smart-home/virtual-device.js:174:9) at /opt/iobroker/node_modules/@node-red/runtime/lib/nodes/Node.js:214:26 at Object.trigger (/opt/iobroker/node_modules/@node-red/util/lib/hooks.js:166:13) at Node._emitInput (/opt/iobroker/node_modules/@node-red/runtime/lib/nodes/Node.js:206:11) at Node.emit (/opt/iobroker/node_modules/@node-red/runtime/lib/nodes/Node.js:190:25) at Node.receive (/opt/iobroker/node_modules/@node-red/runtime/lib/nodes/Node.js:499:10) at deliverMessageToDestination (/opt/iobroker/node_modules/@node-red/runtime/lib/flows/Flow.js:800:40) at Immediate._onImmediate (/opt/iobroker/node_modules/@node-red/runtime/lib/flows/Flow.js:816:21) at process.processImmediate (node:internal/timers:483:21)
Da fehlt mir wohl auch color und level
Hatte nun mal etwas rumprobiert...aber komme nicht weiter:
bräuchte die Kette steuerbar mit brightness, hue, und xy per alexa.
an und aus funktioniert den rest bekomme ich leider nicht hin -.-
@mickym vielleicht?? -
@marko1974 Nun ich habe keine Alexa und meinen Conbee2 habe ich direkt über Zigbee2mqtt angebunden und nicht über deconz.
Wenn Deine Alexa Node funktioniert - analyisiere Deine Nachrichtenobjekte in den Debug Nodes und schau, wie Du deconz ansteuerst.
Du kannst ja erst mal schauen, ob Du über die deconz out Nodes steuern kannst.
Wenn das geht, kannst ja schauen, ob das über Nachrichteneigenschaften geht. Aber wie Du Farben in xy umrechnest, das musst Du schon theoretisch wissen. -
@mickym hmmm da kommt sowas bei raus.... muss da nun noch ne change node rein? Wenn ich den deconz out verbinde gibt es so ne Endlosschleife.
Der xy Wert könnte ja einfach über deconz auf die jeweilige Farbe gesetzt werden...dann kann man das Array ablesen.
Ich habe nur n Problem mit dem kompletten Aufbau.
Weiss auch nicht ob ich das im deconz get richtig gemacht habe.Was komisch ist, dass ich das nie machen musste. Deconz konnte man immer mit alexa direkt verbinden. Diese Verbindung scheint nicht mehr zu funktionieren.
-
@marko1974 Na ja ist generell keine gute Idee - die deconz Nodes UND den Adapter im iobroker zu verwenden. Also entweder oder.
Und ansonsten wenn es eine Endlosschleife gibt - das siehst Du ja ob die Nachrichten von der Alexa Node einfach durchgereicht werden. Ggf. hat die selbst so einen Marker. Kopier halt mal eine Nachricht, die aus der Alexa Node kommt hier in CodeTags ein. Einmal wenn Alexa einen Befehl initiiert und einmal wenn es durch die deconz Nodes kommt.So hilft das Debugfenster gar nichts und bitte nicht mit der Maus raus kopieren, sondern mit der Schaltfläche Wert kopieren.
-
@mickym Ich hab noch mehr in dem Adapter....daher wäre es echt gut den Adapter auch zu verwenden.
Woran kann es denn liegen, dass der über Phoscon keine Verbindung mehr mit der Alexa macht.
Die bereits bestehenden Geräte funktionieren alle...die hab ich vor Jahren eingebunden...nur neue nicht.Ich gucke mir das mal eben mit dem debug an....denke aber dass die ersten Nodes schon falsch sind....das war einfach nur probieren, bis ein Wert untendrunter steht.
Das geht mit dem color schonmal nicht. -
@marko1974 Kann Dir das nicht sagen, da ich weder deconz noch Alexa nutze. Habe zwar auch einen Conbee2 - aber der ist über Zigbee2Mqtt angebunden.
Wenn Du den Adapter und nicht die Nodes verwenden willst, dann deinstalliere die Nodes und greif normal über die iobroker Nodes auf den deconz Adapter zu.
-
{"powerState":"OFF","brightness":100,"colorTemperatureInKelvin":2200,"lightMode":"temp","color":{"hue":60,"saturation":1,"brightness":1},"source":"device","directive":"OverrideLocalState","name":"Kette","type":"COLOR_CHANGING_LIGHT_BULB","color_rgb":[255,255,0],"color_hex":"#FFFF00","color_cmyk":[0,0,100,0],"color_lab":[97,-22,94],"color_xyz":[77,93,14],"color_xy":[0.44416280138233527,0.5165661629456695]}
-
@marko1974 Ja und was ist das für eine Ausgabe? - Wenn Du über Alexa was steuerst oder kommt das von den deconz Nodes?
-
@mickym das war jetzt die reine Ausgabe des Debug nodes ohne dass ich alexa etwas gesagt habe. Ändert sich auch nicht, wenn ich z.b. Kette gelb sage....
-
@marko1974 sagte in Lichterkette in Node-Red + Alexa:
@mickym das war jetzt die reine Ausgabe des Debug nodes ohne dass ich alexa etwas gesagt habe
Gut dann noch das Debug - was aus Alexa rauskommt, wenn Du ein Kommando gibst.
-
@mickym genau das gleiche
Bekommen wir das besser über iob in hin?
-
@marko1974 Also dann mach halt mal eine Nachrichteneigenschaft vor den Alexa Eingang hin. Zum Beispiel eine Nachrichteneigenschaft input=true
Und dann musst Du halt mal in der Hilfe zur deconz-out lesen, welche Nachrichteneigenschaft was schaltet.
Ist die Ausgabe, die Du gepostet hast nur die payload oder das ganze Nachrichtenobjekt?
-
@mickym sei mir nicht böse...die deconz dinger sind mir echt zu kompliziert.
Guck mal ...das alt bekannte:
Alexa Ausgabe nach Kette gelb
{"powerState":"ON","brightness":100,"colorTemperatureInKelvin":2200,"lightMode":"hsb","color":{"hue":60,"saturation":1,"brightness":1},"source":"alexa","directive":"SetColor","name":"Kette","type":"COLOR_CHANGING_LIGHT_BULB","color_rgb":[255,255,0],"color_hex":"#FFFF00","color_cmyk":[0,0,100,0],"color_lab":[97,-22,94],"color_xyz":[77,93,14],"color_xy":[0.44416280138233527,0.5165661629456695],"rawDirective":{"directive":{"header":{"namespace":"Alexa.ColorController","name":"SetColor","correlationToken":"CJzZXNzaW9uSWQiOiJkMDAwMWViNi1iNGM3LTQ4ZTEtYWNhMi05NzExNDY4Yjk4NmIifQ=="},"endpoint":{"endpointId":"vshd-e8a33a65b5e5a4da"},"payload":{"color":{"hue":60,"saturation":1,"brightness":1}}}}}
nach Kette grün
{"powerState":"ON","brightness":100,"colorTemperatureInKelvin":2200,"lightMode":"hsb","color":{"hue":120,"saturation":1,"brightness":1},"source":"alexa","directive":"SetColor","name":"Kette","type":"COLOR_CHANGING_LIGHT_BULB","color_rgb":[0,255,0],"color_hex":"#00FF00","color_cmyk":[100,0,100,0],"color_lab":[88,-86,83],"color_xyz":[36,72,12],"color_xy":[0.17241614314906034,0.7467966085220437],"rawDirective":{"directive":{"header":{"namespace":"Alexa.ColorController","name":"SetColor","correlationToken":"jUwOTBkNWM1LTk5ZmYtNGIzMS1iMjJiLTliMzc2NjVkNjgzMiIsInVOi8vZC1hY3JzLWV1LXAtN2MyLTU0MWFlZjg1LmV1LXdlc3QtMS5hbWF6b24uY29tOjk0NDQiLCJzZXNzaW9uSWQiOiJmN2I0ZmU4Mi02YTVjLTRjNDMtYTQ4YS01YzUyMjgwMmY4YzYifQ=="},"endpoint":{"endpointId":"vshd-e8a33a65b5e5a4da"},"payload":{"color":{"hue":120,"saturation":1,"brightness":1}}}}}
nur was kommt in die msg payloads?
Ist mir irgendwie sympathischer -
@marko1974 Na dann musst Du doch nur mit verschiedenen iobroker.Out Nodes die Dinger schalten. Mach mal für jeden Datenpunkt im iob eine iobroker-Out Node. Die gewünschte Eigenschaft kopierst Du den Pfad aus dem Objekt und setzt die payload auf diese Eigenschaft. Du musst aber doch wissen, welche Datenpunkte im iob du ansprechen musst und mit welchen Werten.
Probiere es halt erst mal im Admin aus.
Wenn Du den color_hex Wert brauchst, dann kopiere Dir den Pfad und setze die payload auf diese Eigenschaft.
-
@mickym hab jetzt payload.brightness, payload.color_hex und payload.powerState genommen
-
@marko1974 Na und die musst halt in die entsprechenden Datenpunkte im iob füttern
-
Da ist nun wohl was falsch
-
@marko1974 Ich hab Dir doch das gepostet - schau Dir den screenshot der ChangeNode genau an. Du musst das msg Objekt referenzieren.
und keinen String da rein schreiben.
-
@mickym ich hab das mit dem msg aus flüchtigkeit übersehen.....
jetzt hab ich das so...und die Kommendos von alexa gehen auch an den iobroker out.....aber es passiert nichts ...kette bleibt wie sie ist
-
@marko1974 Hast Du die auch als command geschickt die Werte? Hast Du einfach im Admin geschaut, ob die gleichen Werte funktionieren, wenn Du sie direkt eingibst`?