Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Alexa Temperaturabfrage mit Node Red

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Alexa Temperaturabfrage mit Node Red

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kymchy @frankyboy73 last edited by

      @frankyboy73 ja, hatte ich auch so gemacht, wie du es beschrieben hast und es funktioniert ja auch jetzt.
      Mal ne andere Frage: Ich möchte in einem selbst erstelltem Datenpunkt über eine Alexaansage true oder false setzen. Der Alexa Node schreibt mir da aber jetzt "powerstate ON" oder "powerstate OFF" rein. Kann man das auch mit einem Change Node so ändern, dass da true oder false steht?

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

        @kymchy Hi, ja das geht. Mit der der Einstellung Ändere. Dann suche nach "powerstate ON"
        ersetze durch boolean true, usw.
        Change3.jpg
        Kommt da wirklich "powerstate ON" und "powerstate OFF" raus?
        Was aus der Alexa Node rauskommt kannst du mit ner Debug Node überprüfen. Dafür einfach ne Debug Node hinter die Alexa Node hängen, dann kannst du dir rechts im Fenster ansehen was da raus kommt. Ist oft sehr nützlich bei Fehler/Problemsuche.
        debug1.jpg
        In der Debug Node am besten auf Komplettes Nachrichten Objekt stellen.
        debug2.jpg
        Kannst du auch hinter die Change Node packen, dann kannst du testen ob danach das richtige rauskommt, wenn man mal etwas rumprobiert, was man wie ändern kann/muss, ist das sehr praktisch. Oder damit man sieht ob überhaupt ne Nachricht rauskommt.

        K 1 Reply Last reply Reply Quote 0
        • K
          Kymchy @frankyboy73 last edited by

          @frankyboy73
          also, das ist das was rauskommt
          powerstate.png

          K 1 Reply Last reply Reply Quote 0
          • K
            Kymchy @Kymchy last edited by Kymchy

            und das beim Debug Node:
            debug node.png

            da haben wir wohl wieder das Problem Object -> Wert?

            F 2 Replies Last reply Reply Quote 0
            • F
              frankyboy73 @Kymchy last edited by frankyboy73

              @kymchy Habe ich mir gedacht, was aus der Node rauskommt ist ein Objekt mit mehreren Nachrichten. Der ON / OFF Status ist in der Unternachricht msg.payload.powerState.
              Da du aber an die Iobroker Out Node true/false per msg.payload senden muss, müssen wir das noch von msg.payload.powerState auf msg.payload verschieben.
              Du Kannst die Debug Message auch noch aufklappen, wenn du bei der Debug Ausgabe auf den kleinen Pfeil klickst, den ich im meinem Screenshot oben markiert habe.
              Da gibts auch verschiedene Möglichkeiten das umzusetzen, entweder mit ner Change Node oder man kann auch mit nem Switch die msg.payload.powerstate abfragen und danach true und false in die msg.payload setzen.
              Ich würde es erst mal einfach in der Change Node so umsetzen.
              Change4.jpg
              Oder erst verschieben und dann die Werte ändern.
              Change5.jpg
              Lösung über switch würde dann eventuell so aussehen:
              switch2.jpg
              switch3.jpg

              [
                 {
                     "id": "420c9d64.be86c4",
                     "type": "change",
                     "z": "9e1c0edb.e6d2d",
                     "name": "true",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "true",
                             "tot": "bool"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 630,
                     "y": 3320,
                     "wires": [
                         [
                             "1ae2cd5f.0f38c3"
                         ]
                     ]
                 },
                 {
                     "id": "3ffd567b.7c5c5a",
                     "type": "inject",
                     "z": "9e1c0edb.e6d2d",
                     "name": "AlexaNode",
                     "props": [
                         {
                             "p": "payload"
                         },
                         {
                             "p": "topic",
                             "vt": "str"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "powerstate OFF",
                     "payloadType": "str",
                     "x": 210,
                     "y": 3360,
                     "wires": [
                         [
                             "775e5cc9.c75e74",
                             "c99be9ef.703e88"
                         ]
                     ]
                 },
                 {
                     "id": "1ae2cd5f.0f38c3",
                     "type": "ioBroker out",
                     "z": "9e1c0edb.e6d2d",
                     "name": "Lichterkette POWER",
                     "topic": "sonoff.0.Lichterkette.POWER",
                     "ack": "false",
                     "autoCreate": "false",
                     "stateName": "",
                     "role": "",
                     "payloadType": "",
                     "readonly": "",
                     "stateUnit": "",
                     "stateMin": "",
                     "stateMax": "",
                     "x": 900,
                     "y": 3360,
                     "wires": []
                 },
                 {
                     "id": "775e5cc9.c75e74",
                     "type": "debug",
                     "z": "9e1c0edb.e6d2d",
                     "name": "",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "true",
                     "targetType": "full",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 460,
                     "y": 3460,
                     "wires": []
                 },
                 {
                     "id": "c99be9ef.703e88",
                     "type": "switch",
                     "z": "9e1c0edb.e6d2d",
                     "name": "payload.powerState",
                     "property": "payload.powerState",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "eq",
                             "v": "ON",
                             "vt": "str"
                         },
                         {
                             "t": "eq",
                             "v": "OFF",
                             "vt": "str"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 2,
                     "x": 420,
                     "y": 3360,
                     "wires": [
                         [
                             "420c9d64.be86c4"
                         ],
                         [
                             "e9ee72f4.82b77"
                         ]
                     ]
                 },
                 {
                     "id": "e9ee72f4.82b77",
                     "type": "change",
                     "z": "9e1c0edb.e6d2d",
                     "name": "false",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "false",
                             "tot": "bool"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 630,
                     "y": 3400,
                     "wires": [
                         [
                             "1ae2cd5f.0f38c3"
                         ]
                     ]
                 }
              ]
              

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

                @kymchy Kann auch sein das du hier in der Change Node setze verwenden muss. Ich muss da auch immer erst testen, was richtig ist @mickym kennt sich mit Change Node viel besser aus.
                Change7.jpg
                Edit: Habe den Screenshot noch mal geändert, war ein Fehler drin, bei setzte muss natürlich msg rein, ups.

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kymchy @frankyboy73 last edited by Kymchy

                  @frankyboy73 So funktioniert es:
                  Changenode.png

                  Was ich bekomme ist ein String bzw. auch ein Boolean, wenn ich es dahingehend ändere.
                  Besten Dank!

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

                    @kymchy Super.
                    Genau du musst an die Iobroker Out zum schalten ein Boolean benutzen und kein String sonst klappt das mit dem schalten nicht richtig.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kymchy @frankyboy73 last edited by

                      @frankyboy73 einen String könnte man auch auswerten, ist aber nicht so schön und braucht außerdem mehr Speicher. Alles gut!

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

                        @kymchy Ok, ich weiß ja nicht was du mit der Ausgabe machen willst. Aber wenn du über die Iobroker Out Node Geräte die du in deinem Iobroker hast Ein/Aus schalten willst, z.B. Steckdosen, Lampen usw. die in den Objekten die Rolle "switch" haben, muss du da ja auf jeden Fall ein boolean draufsenden. Das Einschalten würde ja noch mit nem String gehen, weil der ungleich 0 ist und dadurch bei jedem String eingeschaltet wird, aber das Ausschalten geht nur mit boolean false oder Number 0. Dadurch wäre es nicht sinnvoll aus der Change Node Strings auszugeben, die man eventuell danach noch mal auswerten und umwandeln muss. Das nur als Tipp und nicht als negative Kritik. Jeder darf sein System so aufbauen wie er es für sinnvoll hält. Ich habe auch Umsetzungen bei mir drin, wo andere bestimmt die Hände über dem Kopf zusammen schlagen würden. Also viel Spaß bei Node Red testen 😁

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kymchy @frankyboy73 last edited by

                          @frankyboy73 nee, du hast schon recht. Ich habe es auch direkt nach Boolean geändert. Ergibt schon viel Sinn.

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            Kymchy @Kymchy last edited by

                            Eine Frage hätt ich dann doch noch:
                            Wir steuern ja jetzt unseren Datenpunkt über eine Alexa Sprachanweisung bzw. über den Schalter in der Alexa App:
                            Postsignal.png
                            Der Datenpunkt wird aber auch über ein anderes Gerät verändert. Ist es möglich, den Alexa Node über ein weiteren ioBroker In Node so zu steuern, dass er bei Änderung des DP durch ein anderes Gerät dessen Wert annimmt?

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

                              @kymchy Ja - dazu hat die Alexa Node ja einen Eingang - letztlich ist es doch nichts anderes als bei Deinem Außensensor und der Temperatur - da hast Du den Status ja auch der Alexa Node mitgeteilt.

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Kymchy @mickym last edited by

                                @mickym stimmt, müsste ich ja eigentlich so übernehmen können

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

                                  @kymchy Na ja die Objekteigenschaften sind halt ggf. unterschiedlich je nachdem was Du für ein virtuelles Gerät hast, aber das siehst ja in der Hilfe zu der Node.

                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kymchy @mickym last edited by

                                    @mickym im obigen Beispiel bekomme ich vom Alexa Node ja ein Object und ändere es mit dem Change Node nach Boolean für die ioBroker Ausgabe.
                                    Der neue zusätzliche ioBroker In Node, würde mir wieder ein Boolean liefern. Müsste ich den dann auch erst wieder in ein Object schreiben?

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

                                      @kymchy Hi, es gibt ja in der Hilfe oder in der Doku zu der Node Beispiele, wenn man sich das Beispiel switch z.B. importiert, kann man ja in die Injekt Nodes schauen was da für on und off gesendet wird. Das musst du dir so in deine change Node einbauen, damit bei false bzw. true jeweils der richtige Befehl aus der Change Node rauskommt.
                                      Im Beispiel ist die Injekt Node für On so eingestellt.
                                      Switch1.jpg
                                      Dann musst du in der Change Node aus dem true was dir die Iobroker In Node sendet diese Nachricht machen, das geht mit ändere. Das gleiche dann noch für false bzw. Off
                                      Das könnte dann so in der change Node aussehen.
                                      switch2.jpg

                                      Edit: Ich selber hätte das wahrscheinlich so versucht.
                                      Kann aber nicht testen, da ich die Node wie gesagt nicht verwende.
                                      switch3.jpg

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        Kymchy @frankyboy73 last edited by

                                        @frankyboy73 hi,
                                        so hatte ich es gemacht:
                                        Bildschirmfoto 1.png
                                        und der Debug Node gibt mir nun auch powerstate "OFF" bzw. powerstate "ON" aus.

                                        Das scheint der Alexa Node aber noch nicht zu reichen...auf jeden Fall ändert sich nix in der Alexa App.

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

                                          @kymchy Ich weiß jetzt nicht ob das einen Unterschied macht, aber eigentlich ist bei powerstate das S von State groß geschrieben, also powerState.

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

                                            @frankyboy73 sagte in Alexa Temperaturabfrage mit Node Red:

                                            @kymchy Ich weiß jetzt nicht ob das einen Unterschied macht, aber eigentlich ist bei powerstate das S von State groß geschrieben, also powerState.

                                            DAs macht einen Unterschied - immer schön die Hilfe beachten:

                                            615dc6b1-da81-4cdb-b15d-75d8c85355c0-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            776
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            70
                                            3714
                                            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