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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • 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.
    • 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
                                • F
                                  frankyboy73 @mickym last edited by

                                  @mickym wow, mal eben auf nem Testsystem installiert. Du bist der Beste.
                                  Ich hättte gedacht, wenn er nur was schalten will, würde es reichen, im payload das on durch Boolean true zu ersetzen und das off durch Boolean false. Aber da bist du schon wieder viel weiter.

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

                                    @frankyboy73 sagte in Alexa via Node-Red:

                                    @mickym wow, mal eben auf nem Testsystem installiert. Du bist der Beste.
                                    Ich hättte gedacht, wenn er nur was schalten will, würde es reichen, im payload das on durch Boolean true zu ersetzen und das off durch Boolean false. Aber da bist du schon wieder viel weiter.

                                    Na obs ihm was hilft - muss er halt wissen. Auf Funktion kann ich es nicht testen, habe quasi nur die Nodes und die Hilfe gesehen und nun muss er das halt umsetzen. Also Du kannst da sicher besser helfen. Für mich sind das ja nur Trockenübungen. 😉 😉 Mein Test ist auch schon wieder vorbei, hab die Nodes aus dem Testsystem schon wieder entfernt. Zumindest ging das problemlos.

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

                                      @mickym
                                      @Dr-Bakterius
                                      @frankyboy73

                                      Ohne lange Rede: Danke

                                      Bereits nach dem Rausschmeißen und neu suchen der Geräte kam die Info in den Device-Nodes an.
                                      Nach dem ich mit eurer Hilfe nun auch die sehr komplexe 😰 Umstellung auf das komplette Nachrichtenobjekt geschafft hatte, tut es wie es soll.

                                      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

                                      533
                                      Online

                                      31.9k
                                      Users

                                      80.3k
                                      Topics

                                      1.3m
                                      Posts

                                      5
                                      23
                                      1397
                                      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