NEWS
Flow Problem mit node-red-contrib-amazon-echo
-
@Homer-J okay link in oder link out auswählen? Und dann?
-
@Nuggelbeb link out an Amazon echo und link in an deine Geräte in deinem flow.
-
@Homer-J Juhuhhhuu...
Du bist der Beste, du hast mich gerettet. Danke. -
@Nuggelbeb Kein Problem hat mir ja selber ein bisschen geholfen.
-
Hallo, ich habe meinen Amazon Echo Hub ziemlich ähnlich eingerichtet, bei mir sagt Alexa jedoch jedesmal "Ich weiß nicht was schief gelaufen ist".
Ich habe in älteren Beträgen gelesen, dass dies eventuell nach ein paar Tagen aufhört, würde aber gerne wissen, ob es so bei euch tatsächlich funktioniert, ohne Fehlermeldung.
Zur Info, ich habe in Amazon Echo Hub (in Node-Red, in iobroker) den Port 1890 eingegeben, und über iptables eine Portweiterleitung auf 80 eingerichtet, dadurch kann ich die Geräte schalten.
-
@technogodder said:
Zur Info, ich habe in Amazon Echo Hub (in Node-Red, in iobroker) den Port 1890 eingegeben, und über iptables eine Portweiterleitung auf 80 eingerichtet, dadurch kann ich die Geräte schalten.
Könntest Du mir bitte sagen, WIE Du dazu vorgegangen bist bzw. was man für Befehle bzw. Einstellungen man machen muss?
-
FailPost, sorry
-
wie kommt ihr denn auf die anderen Paramter bei einem Knoten?
Ich habe zB meinem node das hier hinterlegt hue.0.Wohnzimmer.on
Damit kann ich die Lichter wunderbar an und ausschalten. Aber wie kann ich zB das Licht grün schalten. Wenn ich nur hue.0.Wohnzimmer hinterlege bekomme ich in der Debug message trotzdem nur ein true oder false. -
@amandus99
Hi, wenn du die Debug Node öffnest kannst du Vollständiges Nachricht Objekt auswählen, dann werden dir alle Messages angezeigt die rauskommen. Wenn du auf die Amazon Echo Node klickst solltest du rechts im Fenster Infos zu der Node sehen, was für eine Message wo für ist.
Du kannst dir dann mit ner Funktion Node die einzelnen Messages rausholen. Zum Beispiel so für die Helligkeit.
[ { "id": "f95a5c17.82db1", "type": "function", "z": "cf3b9182.51d99", "name": "dimmer", "func": "var newMsg = { payload: msg.bri } ;\nreturn newMsg;", "outputs": 1, "noerr": 0, "x": 420, "y": 880, "wires": [ [ "37e946e5.bb792a", "fd104227.6844b8" ] ] } ]
Oder so für den Hue
[ { "id": "f95a5c17.82db1", "type": "function", "z": "cf3b9182.51d99", "name": "hue", "func": "var newMsg = { payload: msg.bri } ;\nreturn newMsg;", "outputs": 1, "noerr": 0, "x": 410, "y": 880, "wires": [ [ "37e946e5.bb792a", "fd104227.6844b8" ] ] } ]
Und so weiter, für RGB, Saturation
-
ahh super vielen Dank, ich ging davon aus, dass dies alles im payload stehen müsste und dachte ich hätte schon alles...
-
mmh eine Frage hätte ich dann aber doch noch.
in der echo device node abonniere ich dann hue.0.Wohnzimmer und bekomme alle Werte. Wie aber übergebe ich die an das richtige Ziel? on und off muss ich doch dann an hue.0.Wohnzimmer.on schicken und bri an hue.0.Wohnzimmer.bri da aber auch wenn ich sage "alexa dimme das Wohnizmmer auf 50%" wird zwar 128 an bri geschickt aber gleichzeitig auch ein on an on und somit geht das Licht auf 100%? -
@amandus99
Durch das senden von on sollte die Lampe keinen anderen Dimmwert annehmen. Was braucht denn dein Wohnzimmer.bri für Werte 0-254 oder 0-100? Die Echo Node gibt 0-254 raus. Brauchst du jetzt aber 0-100, muss man das noch umrechnen. Sonst bekommst du ja bei 50% 127 oder so raus und das liegt ja über 100% und damit geht die Lampe auf 100%. Das geht auch mit ner Funktion Node.msg.payload = Math.round(msg.payload / 2.54); return msg;
Das in die Funktion Node rein machen und die Node dann vor deine Wohnzimmer.bri Ausgabe einfügen.
-
@frankyboy73 said in Flow Problem mit node-red-contrib-amazon-echo:
@amandus99
Durch das senden von on sollte die Lampe keinen anderen Dimmwert annehmen. Was braucht denn dein Wohnzimmer.bri für Werte 0-254 oder 0-100? Die Echo Node gibt 0-254 raus. Brauchst du jetzt aber 0-100, muss man das noch umrechnen. Sonst bekommst du ja bei 50% 127 oder so raus und das liegt ja über 100% und damit geht die Lampe auf 100%. Das geht auch mit ner Funktion Node.msg.payload = Math.round(msg.payload / 2.54); return msg;
Das in die Funktion Node rein machen und die Node dann vor deine Wohnzimmer.bri Ausgabe einfügen.
oder gleich den prozentwert im payload ausgeben
msg.payload = msg.percentage; return msg;
-
@t-master
Oh, das wusste ich ja noch gar nicht, habe ich gerade nachgeschaut, also gibt die Amazon Node doch nen Prozentwert für die Helligkeit raus, war das vor nem Jahr auch schon so? Da habe ich diesbezüglich noch nichts gefunden und rechne deshalb immer den Bri um.Danke für die Info.
-
so hatte wieder etwas Zeit
Aber ich verstehe es immer noch nicht. Egal ob ich Alexa sage mach an oder setze auf x% bekommen ich ja immer diese Antwort zurück{"on":true,"bri":128,"hue":0,"sat":254,"ct":199,"colormode":"ct","meta":{"insert":{"by":"alexa","details":{"ip":"::ffff:192.168.178.34","user_agent":"Dalvik/2.1.0 (Linux; U; Android 5.1.1; AEOBC Build/LVY48F)","date":"2020-03-06T20:09:27.030Z"}},"input":{"bri":128},"changes":{}},"rgb":[255,0,0],"percentage":50,"payload":"on","deviceid":"25ef4d323521d2","topic":"hue.0.Wohnzimmer","_msgid":"5646b44b.60277c"}
sprich einen bri Wert aber auch ein payload on. Entweder ich setze jetzt den bri, da erwartet die Node einen Wert von 0-255 oder ich setze den on State of true oder false. Klar könnte ich jetzt bei false den Bri Wert auf 0 setzen, aber so richtig elegant ist das doch nicht?
Wie macht ihr das denn? -
@amandus99, zeig doch mal deinen Flow, dann ist es eventuell einfacher dir zu helfen.
-
@amandus99
Also eigentlich brauchst du den Bri Wert nicht auf 0 setzten, bei nem bri Wert und gleichzeitig false sollte die Lampe eigentlich ausgehen.
Sollte das bei deiner Lampe nicht der Fall sein, würde ich mal testen den false Befehl zu verzögern. 100ms oder so sollte genügen. Dann sollte sie auf jeden Fall ausgehen. -
hier mein flow
[ { "id": "c65d3085.441b7", "type": "tab", "label": "Flow 1", "disabled": false, "info": "" }, { "id": "95dfb0f5.9c5c2", "type": "amazon-echo-hub", "z": "c65d3085.441b7", "port": "80", "processinput": 0, "x": 200, "y": 140, "wires": [ [ "25ef4d32.3521d2", "27b8f726.917898" ] ] }, { "id": "25ef4d32.3521d2", "type": "amazon-echo-device", "z": "c65d3085.441b7", "name": "Gartenzwerg", "topic": "hue.0.Wohnzimmer", "x": 430, "y": 160, "wires": [ [ "794abd8b.f2df44", "7b7827ed.f7de38", "acfcc678.839078" ] ] }, { "id": "acfcc678.839078", "type": "debug", "z": "c65d3085.441b7", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "x": 850, "y": 140, "wires": [] }, { "id": "a905b681.6d6718", "type": "ioBroker out", "z": "c65d3085.441b7", "name": "Wohnzimmer.on", "topic": "hue.0.Wohnzimmer.on", "ack": "false", "autoCreate": "false", "x": 880, "y": 360, "wires": [] }, { "id": "27b8f726.917898", "type": "amazon-echo-device", "z": "c65d3085.441b7", "name": "Staubi", "topic": "mihome-vacuum.0.control", "x": 190, "y": 460, "wires": [ [ "3f12c669.377bfa" ] ] }, { "id": "f4f20706.73c288", "type": "ioBroker out", "z": "c65d3085.441b7", "name": "", "topic": "mihome-vacuum.0.control.clean_home", "ack": "false", "autoCreate": "false", "x": 460, "y": 560, "wires": [] }, { "id": "794abd8b.f2df44", "type": "function", "z": "c65d3085.441b7", "name": "check", "func": "var newMsg = { payload: msg.on };\nreturn newMsg;", "outputs": 1, "noerr": 0, "x": 610, "y": 240, "wires": [ [ "a905b681.6d6718" ] ] }, { "id": "7b7827ed.f7de38", "type": "function", "z": "c65d3085.441b7", "name": "dimmer", "func": "var newMsg = { payload: msg.bri };\n\nreturn newMsg", "outputs": 1, "noerr": 0, "x": 620, "y": 120, "wires": [ [ "a143e95a.d6dbe8" ] ] }, { "id": "a143e95a.d6dbe8", "type": "ioBroker out", "z": "c65d3085.441b7", "name": "Wohnzimmer.bri", "topic": "hue.0.Wohnzimmer.bri", "ack": "false", "autoCreate": "false", "x": 940, "y": 240, "wires": [] }, { "id": "3f12c669.377bfa", "type": "function", "z": "c65d3085.441b7", "name": "", "func": "var newMsg = { \n payload: msg.on \n \n};\nreturn newMsg;", "outputs": 1, "noerr": 0, "x": 220, "y": 620, "wires": [ [ "f4f20706.73c288" ] ] }, { "id": "bdc18fa0.27776", "type": "ioBroker out", "z": "c65d3085.441b7", "name": "Wohnzimmer.on", "topic": "hue.0.Wohnzimmer.on", "ack": "false", "autoCreate": "false", "x": 760, "y": 740, "wires": [] }, { "id": "ef54d9da.6da7e8", "type": "ioBroker in", "z": "c65d3085.441b7", "name": "linke wippe", "topic": "zigbee.0.00158d00040b132e.left_click", "payloadType": "value", "onlyack": true, "func": "all", "gap": "", "x": 330, "y": 700, "wires": [ [ "991d55f3.9c6558", "bdc18fa0.27776" ] ] }, { "id": "1e5407ac.38cec8", "type": "hue-light", "z": "c65d3085.441b7", "name": "Stehlampe", "bridge": "20d300f2.69eca", "lightid": "1", "colornamer": true, "skipevents": false, "x": 830, "y": 500, "wires": [ [] ] }, { "id": "991d55f3.9c6558", "type": "change", "z": "c65d3085.441b7", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "str", "to": "on", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 530, "y": 660, "wires": [ [] ] }, { "id": "20d300f2.69eca", "type": "hue-bridge", "z": "", "name": "Philips hue", "bridge": "192.168.178.22", "key": "3aE1Aer2vCcD3XAgg00IKKuaKyCYFc37rAPH07Af", "interval": "3000", "disableupdates": false } ]
den check um 100ms verzögern funktioniert fürs ausschalten aber bringt dann wieder andere Seiteneffekte mit sich...
Danke für eure Hilfe!
-
@amandus99
Hi, was für Seiteneffekte hast du denn dadurch?
Als alternative zu der Zeitverzögerung kannst du auch nen Switch vor die Dimmer funktion setzten und die Nachricht nur durchlassen wenn msg.on=true ist -
@amandus99,
ich habe leider keine HUE, aber versuche mal diesen Flow. Was passiert denn, wenn deine Lampe aus ist und du "Alexa, setze Gartenzwerg auf 50%" sagst. Geht dann deine Lampe mit 50% an?[ { "id": "316a9fa5.9dfd2", "type": "amazon-echo-hub", "z": "25a913b7.4acc5c", "port": "80", "processinput": 0, "x": 200, "y": 140, "wires": [ [ "9acf031c.7e3bc", "a0143bb6.1b0738" ] ] }, { "id": "9acf031c.7e3bc", "type": "amazon-echo-device", "z": "25a913b7.4acc5c", "name": "Gartenzwerg", "topic": "hue.0.Wohnzimmer", "x": 430, "y": 160, "wires": [ [ "cece3db1.828e3" ] ] }, { "id": "9687c7c0.76de88", "type": "ioBroker out", "z": "25a913b7.4acc5c", "name": "Wohnzimmer.on", "topic": "hue.0.Wohnzimmer.on", "ack": "false", "autoCreate": "false", "x": 880, "y": 140, "wires": [] }, { "id": "cece3db1.828e3", "type": "function", "z": "25a913b7.4acc5c", "name": "HUE", "func": "return [\n \n {payload: msg.payload.on},\n {payload: msg.payload.bri}\n ];", "outputs": 2, "noerr": 0, "x": 610, "y": 160, "wires": [ [ "9687c7c0.76de88" ], [ "b723ef53.d299a" ] ] }, { "id": "b723ef53.d299a", "type": "ioBroker out", "z": "25a913b7.4acc5c", "name": "Wohnzimmer.bri", "topic": "hue.0.Wohnzimmer.bri", "ack": "false", "autoCreate": "false", "x": 880, "y": 200, "wires": [] } ]