Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. gelöst: Alexa via Node-Red

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    gelöst: Alexa via Node-Red

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andreas.S last edited by Andreas.S

      Ich wollte Alexa via Node-Red einbinden.
      (Versionen: iob v5.3.8 / Alexa v3.11.2 / Node-Red v3.3.1)
      Dazu habe ich die Palette "node-red-contrib-amazon-echo-oztourer" v0.1.12 installiert.

      Geräte rein. Die findet Alexa auch. Nach dem ersten schnellen Erfolg aber die Ernüchterung.
      Offenbar mache ich aber noch etwas falsch, bei weiterreichen der Befehle. Es kommt nichts nach dem Gerät an.
      Ich habe das nun reduziert bis zurück zum Gerät,

      Beispiel: Ich sage: "Alexa schalte Licht ein/aus".
      Dann ist das für Alexa OK und ich erhalte direkt am HUB (Prüfung via Debug) entsprechend "ON" oder "OFF".
      ABER am Ausgang des nächsten Schrittes (Node Licht) kommt gar nix an?

      5a45e255-c0d8-4aec-bf77-25cf3ff54a5b-image.png

      Ich finde in der Beschreibung nichts, ob ich im Node des Gerätes noch irgendwie einstellen muss, dass er msg.payload durchreichen soll.

      de8c23a2-b69b-48dd-a46c-ac2602257702-image.png

      Hat jemand eine Idee was ich da übersehe?

      Dr. Bakterius 1 Reply Last reply Reply Quote 0
      • haselchen
        haselchen Most Active last edited by

        @mickym

        Its your turn 🙂

        mickym 1 Reply Last reply Reply Quote 0
        • Dr. Bakterius
          Dr. Bakterius Most Active @Andreas.S last edited by

          @andreas-s Ich kenne mich mit NodeRed auch noch nicht wirklich aus, doch bei mir sieht das so aus:
          nodered.png
          Wird in einen Datenpunkt geschrieben und per Blockly-Skript weiterbearbeitet.

          A 1 Reply Last reply Reply Quote 0
          • A
            Andreas.S @Dr. Bakterius last edited by

            @dr-bakterius
            Vielen dank für die Anregung.

            Rein technisch ist das erstmal kein Problem. Wenn ich das mache, steht im Datenpunkt "on" bzw. "off".
            Um das weiter mit einem Script verarbeiten zu können, hätte ich erwartet, dass weitere Informationen, wie zumindest das Gerät das angesteuert werden soll, mitkommen. Alleine mit "on" komme ich doch nicht sehr weit?

            Ich habe früher mal mit den Vorgänger dieses Adapters, der mittlerweile wohl nicht mehr geht, experimentiert. Da wurde das direkt in Node Red als Flow abgebildet, wie es auch auf der aktuellen Seite dargestellt ist.

            https://flows.nodered.org/node/node-red-contrib-amazon-echo-oztourer

            Viele Grüße
            AS

            F Dr. Bakterius 2 Replies Last reply Reply Quote 0
            • F
              frankyboy73 @Andreas.S last edited by frankyboy73

              @andreas-s Hi, teste doch mal einen anderen Namen für das Gerät (falls nicht schon passiert), nur Licht als Name könnte zu allgemein sein, da will Alexa alle Geräte einschalten die als Lampe gelten.
              Edit:
              Und stell die Debug Node mal auf komplettes Nachrichten Objekt anzeigen um.

              Eventuell mal die Issues auf Github durchstöbern, ob du da dein Problem findest. Da gabs z.B. nen Post, das die Ausgabe nicht funktioniert, wenn man die Node in einem Subflow verwendet.
              https://github.com/datech/node-red-contrib-amazon-echo/issues?q=is%3Aissue+is%3Aclosed

              A 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @haselchen last edited by mickym

                @haselchen Ich hab ja keine Alexa. 😉 Aber wenn ich eine hätte, würde ich ja ganz andere Nodes verwenden. 😉

                https://flows.nodered.org/node/node-red-contrib-virtual-smart-home

                ansonsten bist Du bei NodeRed und Alexa bei @frankyboy73 in besten Händen. 😉

                F 1 Reply Last reply Reply Quote 0
                • F
                  frankyboy73 @mickym last edited by

                  @mickym Danke für das Lob, kenne mich zwar mit Node Red und auch mit Alexa aus, aber die Alexa Nodes verwende ich selber auch nicht. Ich hatte sie vor Jahren zwar mal, aber da sich die Ports mit Deconz überschnitten haben (Port 80), bin ich den einfachen Weg gegangen und nutze seit her den IOT Adapter für Alexa.

                  1 Reply Last reply Reply Quote 0
                  • Dr. Bakterius
                    Dr. Bakterius Most Active @Andreas.S last edited by Dr. Bakterius

                    @andreas-s Also bei mir wird z.B. folgendes in den Datenpunkt geschrieben: {"on":false,"bri":254,"percentage":100,"hue":0,"sat":254,"xy":[0.6484272236872118,0.33085610147277794],"ct":199,"rgb":[254,0,0],"colormode":"ct","meta":{"insert":{"by":"alexa","details":{"ip":"::ffff:192.168.3.153","date":"2022-07-16T13:09:59.365Z"}},"input":{"on":false},"changes":{}},"payload":"off","deviceid":"22719f2860eec3bf","topic":"Arbeitsplatte","_msgid":"4483d5214a4cc8af","_event":"node:bf197a19e5b8dc0d"}

                    Dabei steht in der Function:

                    const obj = msg;
                    msg.payload = JSON.stringify(obj);
                    return msg;
                    

                    Und mein Blockly-Skript dazu sieht so aus:
                    blockly.png

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      Andreas.S @Dr. Bakterius last edited by

                      @dr-bakterius
                      Hi,
                      vielen dank für deine Ausführung. Bei dir stehen aber auch alle relevanten Informationen im payload.
                      Ich hatte früher unter einen älteren Version auch mal eine Node-Red Integration.
                      Da kam bei mir im payload auch alles an wichtigen Informationen, wie bei dir zu sehen, mit. Aktuell steht bei mir leider NUR "on" oder "off" drin.

                      @frankyboy73
                      Bei Gerät "Licht" habe ich auch schon andere Namen getestet. Nur "Licht" benenne ich das deshalb, weil ich mehrere Alexas habe. In einer älteren Version hatte ich das so gelöst, dass ich sage: Mach das Licht an und dann wurde via Skript herausgesucht von welchem Raum der Befehl kam.

                      Aus irgend einem Grund steht jetzt aber nur "on" oder "off" drin. Keine deviceID oder irgend eine weitere Info.

                      F Dr. Bakterius 2 Replies Last reply Reply Quote 0
                      • F
                        frankyboy73 @Andreas.S last edited by

                        @andreas-s Ok, wie gesagt ich verwende das seit ein paar Jahren nicht mehr. Hast du Node Red, nach dem hinzufügen der Node, eventuell mal neu gestartet, oder eventuell mal nen Full Deploy gemacht.
                        Hast du noch ne ähnliche Node installiert? Da gibts mehrere die sich ziemlich ähnlich sind, wenn man die gleichzeitig installiert hat, kann das zu Konflikten führen.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          Andreas.S @frankyboy73 last edited by

                          @frankyboy73
                          Wo kann ich einstellen, dass ich das da komplette Nachrichten Objekt angezeigt bekommen?
                          Vermutlich liegt es daran, ich finde es aber leider nicht.

                          Vielen Dank schon mal.

                          8dc79528-540e-482d-bb17-6a464d718d11-image.png

                          F 1 Reply Last reply Reply Quote 0
                          • A
                            Andreas.S @frankyboy73 last edited by

                            @frankyboy73
                            Ich habe das erst komplett neu aufgesetzt.
                            Node Red wird NUR für Alexa eingesetzt.
                            Es ist nur diese Palette zugefügt worden.
                            Full deploy mache ich bei jeder Änderung. Ist aktuell ja nur ein Gerät im Test

                            1 Reply Last reply Reply Quote 0
                            • F
                              frankyboy73 @Andreas.S last edited by frankyboy73

                              @andreas-s sagte in Alexa via Node-Red:

                              Wo kann ich einstellen, dass ich das da komplette Nachrichten Objekt angezeigt bekommen?

                              Klicke auf msg, da hast du dann die Auswahl.

                              Eventuell noch mal die Geräte die du mit der Node gefunden hast in der Alexa App löschen und dann noch mal neu suchen. Auch mal über die Web App schauen ob da noch Geräte vorhanden sind. Unter dem Punkt Smart Home / Geräte
                              https://alexa.amazon.de

                              A 1 Reply Last reply Reply Quote 0
                              • Dr. Bakterius
                                Dr. Bakterius Most Active @Andreas.S last edited by

                                @andreas-s sagte in Alexa via Node-Red:

                                Aktuell steht bei mir leider NUR "on" oder "off" drin.

                                Hast du auch die Function angepasst (wie oben gezeigt) damit ein JSON übergeben wird?

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Andreas.S @frankyboy73 last edited by

                                  @frankyboy73
                                  Ja die Geräte waren in der APP auch vorhanden. Ich habe die nochmal raus geschmissen und neu suchen lassen. Tatsächlich kommt nun "on" und "off" auch nach dem Device-Node an. Damit kann ich schon was anfangen.

                                  @Dr-Bakterius
                                  Leider habe ich nicht gerafft, wo diese Function stehen muss. Am Übergabeobjekt in Node-Red oder im Skript. Sorry 🤕

                                  const obj = msg;
                                  msg.payload = JSON.stringify(obj);
                                  return msg;
                                  

                                  Auch der Tipp von @frankyboy73 das Debug Node auf komplettes Nachrichten Objekt anzeigen scheitert an meiner Kenntnis wo ich das tun kann.

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    frankyboy73 @Andreas.S last edited by

                                    @andreas-s Hi, in der Debug Node steht doch msg payload, wenn du da auf das msg klickst, geht ne Auswahl auf.

                                    1 Reply Last reply Reply Quote 1
                                    • mickym
                                      mickym Most Active last edited by

                                      @andreas-s Ich kann Dir zwar nicht mit Alexa helfen, aber Du brauchst definitiv ein Javascript Objekt nicht zum JSON String machen, wenn Du das innerhalb eines Flows weitergeben willst.

                                      Das gesamt Message Objekt in einer Debug Node ist die mittlere Option.

                                      87d9a499-96d2-4de7-9452-a371abc9959d-image.png

                                      1 Reply Last reply Reply Quote 2
                                      • mickym
                                        mickym Most Active last edited by mickym

                                        @andreas-s Wie gesagt ich will mir die Node nicht installieren und aus der Beschreibung kann ich auch nichts entdecken. Wie gesagt ich würde halt ganz andere Nodes nutzen, auch wenn man sich registrieren muss.

                                        Irgendwo lass ich was von einem Objekt in der payload und zum Beispiel on: true oder false. Du musst halt schauen. Dimmen geht glaub mit msg.bri oder msg.percent - keine Ahnung. Entweder steht was in der Hilfe oder halt eine Doku. Wie gesagt ich würde halt eine andere Node nutzen.

                                        Ich schau mal, ob ich noch was finde.

                                        Du kannst ja mal versuchen, ob Du mit einer Change Node dazwischen so ein und ausschalten kannst:

                                        a276c541-7ade-4835-b54e-6ebf695f413b-image.png

                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          frankyboy73 @mickym last edited by

                                          @mickym Er bekommt ja jetzt schon mal die msg.payload ( on/off) aus der Node raus, in der Debug Node angezeigt. Wenn auf komplettes Nachrichten Objekt gestellt wurde, sollte auch der Rest angezeigt werden.
                                          @Dr-Bakterius hat ein paar Post weiter oben ja schon geschrieben was da rauskommen sollte.

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @frankyboy73 last edited by mickym

                                            @frankyboy73 Ja das habe ich schon verstanden - aber die Device Node - verlangt Objekt in der payload, also wird das nichts helfen.

                                            Ich habe die Node nun doch mal schnell auf einem Testsystem installiert und da ist eigentlich alles beschrieben;

                                            05eb4ee6-100d-4975-abee-e75977fc08fe-image.png

                                            Das heisst wenn on oder off rauskommt, muss er ein Objekt erstellen mit on als Eigenschaft und einem Boolean true oder false, so wie ich das in der Change noc gezeigt habe. Eventuell hast aber Du recht, dass es msg.on = true oder false ist.

                                            Dann muss er halt die Change Node wie folgt abändern:

                                            42410b59-204a-4758-bbde-6f4d36d9f8e8-image.png

                                            Das Dimmen geht wahrscheinlich nach der Beschreibung mit Percentage.

                                            percentagenumber
                                            The brightness % level (min 1, max 100)

                                            Also msg.percentage = 50

                                            Man muss halt vielleicht bissi rumprobieren - scheint aber nach der Beschreibung nicht soviele Möglichkeiten zu geben.

                                            Ich finde halt die virtual smart home - auch wenn man da Verbindung wohl zum Amazon haben muss, viel intuitiver und vielseitiger.

                                            So weit ich das mit diesen Device Nodes verstanden habe, simulieren die alle irgendwie Lampen.Hier in dieser Beschreibung
                                            https://github.com/datech/node-red-contrib-amazon-echo/wiki/Integration-with-Sonoff-Tasmota

                                            ist dieses ON/OFF jedenfalls in ein Objekt der payload übersetzt worden - deswegen bin ich halt drauf gekommen:
                                            5ab0c5cb-141b-4a1c-a746-88d08a97feb3-image.png

                                            Natürlich machen wir so was eben mit einer Change Node und Codieren nicht. 😉

                                            F 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            920
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            23
                                            1369
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo