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 Sprachausgabe Temperatur und sonstiges

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Alexa Sprachausgabe Temperatur und sonstiges

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Heinloth @DJMarc75 last edited by

      @djmarc75 bei Debug 4 kommt 1 als Ergebnis

      H 1 Reply Last reply Reply Quote 0
      • H
        Heinloth @Heinloth last edited by

        @heinloth Screenshot 2022-10-30 195031.jpg

        DJMarc75 1 Reply Last reply Reply Quote 0
        • DJMarc75
          DJMarc75 @Heinloth last edited by

          @heinloth ich kann das leider nicht sehen... andere Auflösung bitte - und die Ausgabe vom debug4 ist da nicht zu sehen - oder ich sehe es nicht

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

            @heinloth Ja das ist verkehrt - die Node erwartet ein Objekt mit der Temperatur und dort musst Du auch noch angeben, dass es sich um das device rauskommt.

            Auch was @DJMarc75 schreibt ist richtig - ist komisch, was da rauskommt.

            Schau erst mal das aus der iobroker-IN Node rauskommt. Wenn da nur eine Zahl rauskommt (ich hoffe Du hast Deine Adapterkonfiguration angepasst ) .
            08c5b98e-ba92-438c-a5ef-5d2728124023-image.png

            Poste doch bitte mal das Debug-Fenster des kompletten Nachrichtenobjektes.

            981a445b-b12d-4e9e-a203-d4cc4b1afc3f-image.png

            Die Systemkonsole kannst Du von mir aus angehakt lassen.

            Im Prinzip musst du die Node aber mit einem Objekt speisen.

            84ed3949-fab9-405b-8e44-5d0354c53723-image.png

            Wichtig ist auch - zu posten was aus der Alexa Node rauskommt - also auch mal eine Debug Node reinmachen.

            f2aff425-688e-4384-a47c-ee75ebbe764d-image.png

            Die Temperatur ist eine Eigenschaft der payload. Du musst der Node auf jedenfall ein Objekt übergeben.

            b77df717-13ae-4236-8c09-fb33a902285b-image.png

            Und wie ich aus den Bilder ersehe, hast Du wohl Deinen Adapterkonfig nicht umgestellt - deshalb musst Du den String vorher noch in Zahl konvertieren.

            92075d5a-ab50-4cd6-ac6a-b899447ccefb-image.png

            [
               {
                   "id": "6fcfed5ca205d1a7",
                   "type": "inject",
                   "z": "acc143ecc3f0a75a",
                   "name": "",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "22.37",
                   "payloadType": "num",
                   "x": 270,
                   "y": 540,
                   "wires": [
                       [
                           "8ca91575f8a8b4cd"
                       ]
                   ]
               },
               {
                   "id": "8ca91575f8a8b4cd",
                   "type": "change",
                   "z": "acc143ecc3f0a75a",
                   "name": "in Zahl konvertieren",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "$number(payload)\t",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 470,
                   "y": 540,
                   "wires": [
                       [
                           "4946db6ce6ce5ccd"
                       ]
                   ]
               },
               {
                   "id": "4946db6ce6ce5ccd",
                   "type": "change",
                   "z": "acc143ecc3f0a75a",
                   "name": "erstelle Objekt",
                   "rules": [
                       {
                           "t": "move",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.temperature",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "payload.source",
                           "pt": "msg",
                           "to": "device",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 680,
                   "y": 540,
                   "wires": [
                       [
                           "f366ebe6221139f9"
                       ]
                   ]
               },
               {
                   "id": "f366ebe6221139f9",
                   "type": "debug",
                   "z": "acc143ecc3f0a75a",
                   "name": "debug 45",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "false",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 920,
                   "y": 540,
                   "wires": []
               }
            ]
            

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

              Wichtig ist auch den output der Node.

              Eventuell musst Du in das Objekt auch den Sensortyp angeben.

              Also setze:

              msg.payload.type auf Zeichenkette: Temperature Sensor (weiß aber nicht, ob das notwendig ist - da das in der Node ja festgelegt ist).

              Wichtig ist aber die source anzugeben.

              29c33ea0-10b3-435f-9765-7c89c18e7ed8-image.png

              Über die source in der Ausgabe der Node ist bei "Nicht Sensoren" für Dich wichtig, die Nachrichten vom Typ device auszufiltern, damit Du erkennst ob die Nachricht von Dir kommt oder von Alexa selbst.

              1 Reply Last reply Reply Quote 0
              • H
                Heinloth @mickym last edited by Heinloth

                @mickym Hallo, bei ioBroker-Werte in Zeichenkette konvertieren war der Haken gesetzt, diesen habe ich jetzt rausgenommen.

                Habe jetzt dann deinen Change "erstelle Objekte" erstellt und so eingesetzt und meinen Change rausgeschmissen.
                Schon funktioniert es, jetzt sagt mir Alexa wie die Temperatur im Büro ist.

                Herzlichen Dank an alle Helfer.
                Sorry, ich bin hier noch richtiger Anfänger.

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

                  @heinloth sagte in Alexa Sprachausgabe Temperatur und sonstiges:

                  Hallo, bei ioBroker-Werte in Zeichenkette konvertieren war der Haken gesetzt, diesen habe ich jetzt rausgenommen.

                  Na nun musst halt bei Deinen anderen Flows noch aufpassen, dass die damit zurecht kommen, wenn nicht mehr in Zeichenkette umgewandelt wird.
                  Aber je früher du das umgestellt hast, desto geringer ist der Umstellungsaufwand.

                  Freut mich, dass es funktioniert. 🙂

                  1 Reply Last reply Reply Quote 0
                  • Wannseesprinter
                    Wannseesprinter @Heinloth last edited by Wannseesprinter

                    @heinloth

                    Ich habe es so gelöst und es läuft sehr gut:

                    6c622bcc-a873-4b72-82d4-9921301b9d5f-grafik.png

                    • Verzögerung von 2000ms, damit bei mehreren Amazon Echos der richtige reagiert und nicht alle durcheinander quatschen
                    • serialNumber, damit der Amazon Echo antwortet, den du angesprochen hast und nicht irgendeiner. Relevant bei mehreren Echos im Haus:

                    410f59e0-d3c7-48f0-b168-813bdf653a08-grafik.png

                    -Lese Temperatur Warmwasser = Ein Wert meines Viessmann Adapters:

                    ba292e2e-b5fa-4c63-a638-fd52aa912fbd-grafik.png

                    • Join, um alle Werte zu einem "Klumpen" zusammenzufassen.
                    • Dann noch die Function. Ist das Komplizierte von allem:

                    b780db75-9894-43b8-8926-6b1e4a202be7-grafik.png

                    var device = msg.payload[0]
                    var str = msg.payload[1];
                    var res = str.substr(0, 5);
                    msg.payload = Math.round(res);
                    msg.payload = "Das Warmwasser ist " + msg.payload + " °C warm";
                    msg.url = "";
                    var command = "alexa2.0.Echo-Devices." + device + ".Commands.speak"
                    msg.topic = command;
                    return msg;
                    
                    
                    • Am Ende noch der "Speak"-Block, fertig 😉
                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Strobel @Wannseesprinter last edited by

                      @wannseesprinter
                      Danke!
                      Könntest du evtl. den ganzen Flow einmal hier einstellen?

                      Im Grund müsste das ja auch so mit einer Haustürklingel funktionieren, oder?
                      Also wenn ich das Klingelsignal abfange und dann eine Sprachausgabe bekomme wie z.B. "Jemand hat an der Haustür geklingelt!"
                      Hat das jemand so umgesetzt und hat eine Idee?

                      Danke und Gruß

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

                        @strobel Hi, wenn du das Klingelsignal im Iobroker hast, ist das kein Problem. Über ne Iobroker In Node den Status des Klingeldatenpunkts überwachen (bei Änderung) dann über nen Switch schauen ob das Signal wahr ist, bzw. was du als Ausgabe hast, dann den passenden Text per Change Node ins payload schreiben und dann per Iobroker Out auf den Speak Command Datenpunkt des Echos geben der es sagen soll, bzw. mehrere anhängen oder ne Gruppe erstellen und den Speak Command nehmen,
                        So ungefähr.
                        Speak.jpg

                        [
                            {
                                "id": "4330db7a9b818880",
                                "type": "ioBroker in",
                                "z": "9e1c0edb.e6d2d",
                                "name": "Klingelsignal",
                                "topic": "*",
                                "payloadType": "value",
                                "onlyack": "",
                                "func": "rbe",
                                "gap": "",
                                "fireOnStart": "false",
                                "outFormat": "MQTT",
                                "x": 190,
                                "y": 1480,
                                "wires": [
                                    [
                                        "d5c1511b7b623e08"
                                    ]
                                ]
                            },
                            {
                                "id": "8610433cdd85d9b4",
                                "type": "change",
                                "z": "9e1c0edb.e6d2d",
                                "name": "",
                                "rules": [
                                    {
                                        "t": "set",
                                        "p": "payload",
                                        "pt": "msg",
                                        "to": "Hallo, es ist jemand an der Haustür",
                                        "tot": "str"
                                    }
                                ],
                                "action": "",
                                "property": "",
                                "from": "",
                                "to": "",
                                "reg": false,
                                "x": 530,
                                "y": 1480,
                                "wires": [
                                    [
                                        "62bce7f956e61d03"
                                    ]
                                ]
                            },
                            {
                                "id": "d5c1511b7b623e08",
                                "type": "switch",
                                "z": "9e1c0edb.e6d2d",
                                "name": "",
                                "property": "payload",
                                "propertyType": "msg",
                                "rules": [
                                    {
                                        "t": "true"
                                    }
                                ],
                                "checkall": "true",
                                "repair": false,
                                "outputs": 1,
                                "x": 350,
                                "y": 1480,
                                "wires": [
                                    [
                                        "8610433cdd85d9b4"
                                    ]
                                ]
                            },
                            {
                                "id": "62bce7f956e61d03",
                                "type": "ioBroker out",
                                "z": "9e1c0edb.e6d2d",
                                "name": "speak",
                                "topic": "",
                                "ack": "false",
                                "autoCreate": "false",
                                "stateName": "",
                                "role": "",
                                "payloadType": "",
                                "readonly": "",
                                "stateUnit": "",
                                "stateMin": "",
                                "stateMax": "",
                                "x": 710,
                                "y": 1480,
                                "wires": []
                            }
                        ]
                        

                        Edit: Du solltest noch ne Nachrichtenbegrenzung mit einbauen, damit bei Sturmklingeln nicht haufenweise Nachrichten kommen. Geht mit der delay Node.
                        speak2.jpg

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        731
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        7
                        13
                        706
                        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