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. Temperaturen über Node RED und Alexa abfragen!

    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

    Temperaturen über Node RED und Alexa abfragen!

    This topic has been deleted. Only users with topic management privileges can see it.
    • Basti97
      Basti97 Most Active @mickym last edited by

      @mickym Die Idee ist das gesagte als true in einem Datenpunkt zu schreiben. Das funktioniert aber nicht bzw Alexa will das nicht verstehen.

      mickym F 3 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @Basti97 last edited by mickym

        @basti97 Trotzdem - Dich interessiert nicht, was rauskommt aus der Alexa Node sondern nur, dass etwas rauskommt.
        Deswegen kannst Du Dir die switch Node komplett sparen und auch die function Node.

        Du hängst einfach eine Change Node zwischen die Alexa Node und die iobroker out NOde und setzt die payload auf true.

        Dann wird der Datenpunkt auf true gesetzt sobald etwas aus der Alexa Node rauskommt.

        f2cf8fa6-5d3b-4265-b46d-82d5ccfd7055-image.png

        Hat zwar mit Deinem Alexa Problem nichts zu tun - aber schalte in der Adapter Konfig zum NodeRed Adapter die Umwandlung in Strings aus. Je früher Du das machst, desto weniger Umstellungsaufwand hast Du später. 😉

        Bei Alexa ist @frankyboy73 sicher der bessere Ansprechpartner - da ich keine Alexa habe.
        Weiß also nichts von Regeln etc.

        Nun solltest Du aber zumindest mit der Alexa App und der Change Node - Deinen Datenpunkt auf true stellen können.

        Bei der Beschreibung zu den Alex Nodes kann ichhalt nur erkennen, dass die folgende Befehle kennt.

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

        Example Alexa commands
        Alexa, turn on/off {device}
        Alexa, switch on/off {device}
        Alexa, set {device} to 50%
        Alexa, turn my {device} light green
        Alexa, set the {device} light to orange
        Alexa, make the {device} warmer
        Alexa, brighten {device} to 60 percent
        Alexa, dim the {device} lights

        Aber wie gesagt @frankyboy73 kann Dir zu der Alexa-Nodes sicher mehr sagen als ich.

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

          @basti97 sagte in Temperaturen über Node RED und Alexa abfragen!:

          @mickym Die Idee ist das gesagte als true in einem Datenpunkt zu schreiben. Das funktioniert aber nicht bzw Alexa will das nicht verstehen.

          Hi, wenn du das was du sagen willst in der Alexa App in einer Routine benutzt sollte sie eigentlich nicht meckern.

          Du gehst in der Alexa App auf Routinen, dann oben rechts auf +. Dann auf wenn folgendes passiert, dann auf Stimme. Da gibst du ein "Temperatur Aquarium" auf Weiter klicken, dann auf Aktion hinzufügen. Dann Smart Home auswählen, dann alle Geräte, dann das Gerät, sollte ja bei dir "Temperatur Aquarium" heißen, auswählen. An/Aus auswählen und An auswählen. Weiter, dann speichern.
          Dann sollte beim nächsten mal wenn du sagst "Alexa, Tempertur Aqurium" sie nicht mehr meckern und du solltest ein true aus der Alexa Node in Node Red rausbekommen.
          Edit: Du kannst auch "wie ist die Temperatur im Aqurium" oder alles mögliche eingeben, es muss aber genau der Text sein den du sagst.

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

            @basti97 Im Prinzip könntest du dir das hier direkt hinter deine Alexa Node (Temperatur Aqurium) hängen. Wie @mickym schrieb wird dann sobald was aus der Node kommt der Text mit der Temperatur ausgegeben. Du musst nur in der Get Node deinen Temperaturwert vom Aquarium auswählen und in der Output Node den Speak Datenpunkt deines Echos.
            Ich habe das mit ner Funktion Node gelöst, mickym kann dir aber auch zeigen wie das ohne geht.
            AlexaSchalter2.jpg

            [
                {
                    "id": "fdfe16b2.b1b668",
                    "type": "ioBroker get",
                    "z": "9e1c0edb.e6d2d",
                    "name": "TemperaturAquarium",
                    "topic": "",
                    "attrname": "payload",
                    "payloadType": "value",
                    "x": 310,
                    "y": 2200,
                    "wires": [
                        [
                            "730ebb37.76f514"
                        ]
                    ]
                },
                {
                    "id": "730ebb37.76f514",
                    "type": "function",
                    "z": "9e1c0edb.e6d2d",
                    "name": "speak",
                    "func": "msg.payload = Math.round(msg.payload * 10) / 10;\nmsg.payload = '  die Temperatur im Aquarium beträgt ' + msg.payload + ' Grad';\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "x": 530,
                    "y": 2200,
                    "wires": [
                        [
                            "b245d505.7ee648"
                        ]
                    ]
                },
                {
                    "id": "b245d505.7ee648",
                    "type": "ioBroker out",
                    "z": "9e1c0edb.e6d2d",
                    "name": "speak",
                    "topic": "alexa2.0.Echo-Devices.G2A0U204933506NS.Commands.speak",
                    "ack": "false",
                    "autoCreate": "false",
                    "stateName": "",
                    "role": "",
                    "payloadType": "",
                    "readonly": "",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 720,
                    "y": 2200,
                    "wires": []
                }
            ]
            

            Wenn du allerdings nur auf das true der Alexa Node reagieren willst, müsstest du noch einen switch davor hängen wo du das msg.on auf true abfragst.
            Edit:
            Erklärung: Kommt aus der Alexa Node eine Message (msg) raus, durchläuft die die Get Node, hier liest du deine Temperatur aus, in der Funktion Node wird der Text erstellt und die Temperatur (msg.payload) eingefügt (ich runde hier auf eine Kommastelle) und das ganze wird dann in die Output Node geschrieben ( command.speak)
            Edit2: Sorry der Code war falsch kopiert, jetzt sollte es passen.

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

              @mickym Vielen Dank ich habe es den change eingebaut und das andere gelöscht. Und auch eine Alexa routine eingefügt. Wie es aussieht wird nun der Datenpunkt geschaltet. Nun muss ich nur noch eine Zeitverzögerung einfügen. Das der Datenpunkt wieder auf false zurück geht.

              Wenn dann das funktoniert werde ich das Thema Dimmen mal in Angriff nehmen. 🙂

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

                @basti97 Wieso willst du den Datenpunkt auf false zurücksetzen? Ist doch nicht nötig, denke ich. Wie verarbeitest du den weiter?

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

                  @basti97 Dann nimmst Du statt dem Change Node eine trigger Node. Die macht das alles in einem 😉 Die Zeitspanne kannst Du natürlich setzen wie Du willst.

                  0fea1a64-fb1d-4a1c-a989-15ecd1c8c329-image.png

                  Ausser @frankyboy73 hat eine andere Idee. Versuche gerade die Function Node - ohne zu function node zu zeigen. 😉

                  Basti97 F 2 Replies Last reply Reply Quote 0
                  • Basti97
                    Basti97 Most Active @frankyboy73 last edited by

                    @frankyboy73 Hey super für deine Idee das Probiere ich morgen mal aus. Jetzt heißt es TV gucken 🙂 🙂
                    Die Alexa Routinen habe ich gefunden und auch ausprobiert das funktioniert schon sehr gut. Das habe ich bis jetzt noch gar nicht gekannt da ich eigentlich alles im iob machen wollte. Ich werde in anderen Bereichen nun auch mal mit den Routinen experimentieren z.b wenn man ins Bett geht usw.

                    Mit den Baustein von @mickym hat sich der Datenpunkt geändert. Nun muss ich nur noch ein false wieder hinbekommen. Und dein Text morgen mit einfügen. Dann sollte es klappen.
                    Denke ich 🙂

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

                      @mickym Wow danke Nodered ist ja relativ einfach wenn man sich erst eiingearbeitet hat . Da gibt es ja für fasst alles ein Baustein wie bei Blockly. )

                      Dir noch einen schön Abend. Bis später

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

                        @mickym Ich meinte nur man braucht ja eigentlich gar nich auf false zurücksetzen, wenn man das als trigger nutzen will, wovon ich hier ausgehe, kann man ja in Node Red auf "send all events" stellen oder wenn das mit Blockly weiterverarbeitet wird, dort auf "wurde aktualisiert", daher meine Frage wie der Datenpunkt weiter verarbeitet wird.

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

                          @basti97 sagte in Temperaturen über Node RED und Alexa abfragen!:

                          @mickym Wow danke Nodered ist ja relativ einfach wenn man sich erst eiingearbeitet hat . Da gibt es ja für fasst alles ein Baustein wie bei Blockly. )

                          Dir noch einen schön Abend. Bis später

                          in Node Red gibt es nicht nur für fast alles einen Baustein, sondern für alles 😁
                          Schönen Abend noch

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

                            @frankyboy73 Ja da hast Du mehr Erfahrung. Klar wenn die Alexa Node automatisch falsch setzt, dann braucht man das natürlich nicht. Aber da bist Du halt der Fachmann.
                            Im Prinzip braucht er dann ja wenn die Alexa Node true und false direkt ausgibt, gar keine Node dazwischenschalten.

                            So wie ich @Basti97 verstanden habe, ist er ja mit Node Red noch nicht so vertraut, vielleicht will er deshalb erst mal Datenpunkte schalten und dann mit Blockly weiterverarbeiten bevor er sich mit Node Red beschäftigt.

                            Hier noch die beiden Nodes, die Deine function Node ersetzen könnte. 😉

                            0d1a90ad-ff31-450a-a39f-cdd3cc31bf6f-image.png

                            [
                                {
                                    "id": "3b56537b.010d7c",
                                    "type": "change",
                                    "z": "6e170384.60c96c",
                                    "name": "",
                                    "rules": [
                                        {
                                            "t": "set",
                                            "p": "payload",
                                            "pt": "msg",
                                            "to": "$round(payload, 1)\t",
                                            "tot": "jsonata"
                                        }
                                    ],
                                    "action": "",
                                    "property": "",
                                    "from": "",
                                    "to": "",
                                    "reg": false,
                                    "x": 2730,
                                    "y": 4420,
                                    "wires": [
                                        [
                                            "18872696.11d2c9"
                                        ]
                                    ]
                                },
                                {
                                    "id": "18872696.11d2c9",
                                    "type": "template",
                                    "z": "6e170384.60c96c",
                                    "name": "",
                                    "field": "payload",
                                    "fieldType": "msg",
                                    "format": "handlebars",
                                    "syntax": "mustache",
                                    "template": "Die Temperatur im Aquarium beträgt {{payload}} Grad",
                                    "output": "str",
                                    "x": 2920,
                                    "y": 4420,
                                    "wires": [
                                        [
                                            "2c44d313.889e6c"
                                        ]
                                    ]
                                }
                            ]
                            
                            F 1 Reply Last reply Reply Quote 0
                            • F
                              frankyboy73 @mickym last edited by

                              @mickym Ne, da habe ich mich wohl falsch ausgedrück, die Alexa Node gibt nicht automatisch false raus, nur wenn man Alexa das sagt oder über die App ausschaltet oder das mit Routinen macht. Ich meine das man als Trigger ja keine Änderung nutzen muss sondern auch mit Aktualisierungen arbeiten kann, also wenn wieder ein true bzw. ne msg mit dem gleichen Inhalt kommt.

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

                                @frankyboy73 Achso klar - aber das ist ja das was ich gesagt habe. Im Prinzip ist es doch egal was aus der Alexa Node rauskommt - ob true/false on/off hallo oder sonst was. Es geht ja nur darum, DASS was rauskommt um den Flow zu triggern, der dann die Temperatur ausliest und den Text in so eine Speach-Node schickt.

                                In einem Parallelflow - wurde halt zur Sicherheit 1 Minute geschaltet, dass habe ich auch mit einer Trigger Node gemacht, damit der Text zu Ende gesagt wird und nicht gleich eine neue Nachricht rauskommt.

                                So einen Flow mit Sprachausgabe habe ich ja hier schon mal für jemand gemacht. Da habe ich ja ein ganzes Blockly in einen Flow umgesetzt

                                EDIT: Da ging es ja auch um ein Aquarium. Irgendwie scheinen Aquariumliebhaber auch der Alexa sehr zugeneigt zu sein. 😉

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

                                  @mickym Ja, richtig, hast du gesagt und so kann / sollte man das auch in diesem Fall verarbeiten.
                                  Nur wenn ich das richtig verstanden habe setzt er ja dadurch über die Output Node nen selbst erstellten Datenpunkt auf true, wofür er den auch immer nutzt. Den will er nach ner Zeit wieder auf false setzen, aber warum sollte man den auf false setzen? Bei dem Datenpunkt kann man ja auch mit Aktualisierung arbeiten oder Ihn ganz weglassen und den Text direkt in den Alexa2 Adapter Datenpunkt command.speak schreiben.

                                  Ich habe kein Aquarium.😂

                                  mickym Basti97 3 Replies Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @frankyboy73 last edited by

                                    @frankyboy73 sagte in Temperaturen über Node RED und Alexa abfragen!:

                                    Ich habe kein Aquarium.

                                    😁 😀 😂

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

                                      @frankyboy73 sagte in Temperaturen über Node RED und Alexa abfragen!:

                                      und den Text direkt in den Alexa2 Adapter Datenpunkt command.speak schreiben.

                                      vielleicht will er das ja noch nicht, sondern liest die Temperatur über ein Blockly aus und gibt den Text dann selbst aus.
                                      ...

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

                                        @mickym Das ist auch meine Befürchtung, deshalb mein kurzer Flow mit 3 Nodes (ok, mit Hub und Alexa Node sind es 5) oder deine Lösung ohne Funktion Node, damit er sieht das man sich das Blockly sehr einfach sparen kann und es durch die Nutzung von nur einem System für diese Aufgabe sehr viel übersichtlicher wird.

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

                                          @frankyboy73 sagte in Temperaturen über Node RED und Alexa abfragen!:

                                          @mickym Das ist auch meine Befürchtung, deshalb mein kurzer Flow mit 3 Nodes (ok, mit Hub und Alexa Node sind es 5) oder deine Lösung ohne Funktion Node, damit er sieht das man sich das Blockly sehr einfach sparen kann und es durch die Nutzung von nur einem System für diese Aufgabe sehr viel übersichtlicher wird.

                                          Da gebe ich Dir zu 100% Recht. Aber wenn Du Dir dieses Posting anschaust, dann will ggf. @Basti97 NodeRed nur als Notlösung gewählt, weil er das ursprünglich auch über Blockly machen wollte. Sowie ich das nun sehe, wäre es vielleicht auch eine Lösung, diese Regeln oder was auch immer Du ihm erklärt hast, was er in der Alexa App machen muss.

                                          Die Fehlermeldung dass Alexa sagt das weiß ich leider nicht". - schaut ja ziemlich ähnlich aus.

                                          Und auch wenn ich Dir zu 100% Recht gebe, alles mit NodeRed zu machen, so wollen wir ja niemand dazu zwingen. Im Gegenteil ich sage immer, dass es einer der Riesenvorteile vom iobroker ist, dass er verschiedene Systeme, Logikmaschinen miteinander verbinden kann. Deswegen habe ich ja auch vorgeschlagen, dass er den Output der Alexa Node 1:1 in einen Datenpunkt schreiben kann und mit Blockly weiterverarbeiten kann.

                                          Es gibt einige Nodes in Node-Red, die man nutzen kann, wofür es kein Adapter im iobroker gibt. Diese kann man dann verwenden. muss sich aber nicht tiefer mit Node Red beschäftigen. Genau dies habe ich @Basti97 ja auch hier vorgeschlagen.

                                          Deswegen find ich es durchaus OK - jedem nur soviel NodeRed zuzumuten, wie er/sie verträgt. 😁

                                          Sind ja auch nicht alle so wie Du, die von blockly nun auf NodeRed umgestiegen sind, sondern sie wollen bei dem bleiben, was man kennt. Ehrlich gesagt, habe ich dafür vollstes Verständnis, da ich merke, dass mir umgekehrt der Einstieg in Blockly auch eher schwer fällt und ich eigentlich mehr Nachteile, als Vorteile sehe, wenn ich umsteigen würde. Ich habe ja schon manchmal auf die Vorteile - gerade der leichteren Fehlersuche bei komplexen Flows - bei Node Red hingewiesen habe, aber ich habe das Gefühl, dass diese Art der Argumentation dann doch von vielen als subjektiv wahrgenommen wird.

                                          Wenn ich mich aber im Blockly gut auskenne, dem geht es dann mit Node Red wahrscheinlich ähnlich und bin deshalb nicht bereit das System zu wechseln.

                                          Ich hatteja diesem Thread Unterschied zwischen NodeRed und Blockly? mal den Vorschlag gemacht - die gleiche Aufgabenstellung in beiden System umzusetzen, um zu sehen, wo die Vor- und Nachteile sind. Aber das ist dann schnell in der Versenkung verschwunden, da man sich dann doch nicht die Mühe macht.

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

                                            @mickym Ja, ok da hast du vollkommen recht. Ich hatte früher auch nur Blockly und bin beim Umstieg sehr lange zweigleisig gefahren, weil ich dachte es geht nicht alles mit Node Red, ausserdem kannte ich Blockly viel besser oder länger und fand es dadurch am Anfang einfacher.
                                            Die Routinen oder Regeln wie du es nennst, sind auch nur Logische Verknüfpungen, wenn dies dann das. Wie hier im Post, wenn ich sage "Alexa, wie ist die Temperatur im Aqurium" dann schalte Gerät Temperatur Aqarium ein. Oder jeden Tag um 20 Uhr, Wohnzimmerlicht einschalten. So einfache Verknüfungen eben.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            581
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            109
                                            13592
                                            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