Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Alexa Anbindung ohne Cloud und Skill

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Alexa Anbindung ohne Cloud und Skill

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

      @wendy2702:

      1. Verstehe ich das richtig das die NodeRed Lösung Alexa-Local (ohne Cloud) eine Hue-Bridge Simuliert? ` Ja! Und die Echos (ohne DOT) der 2.Gen. unterstützen diese Vorgehensweise offensichtlch nicht mehr
      @wendy2702:

      2. Mit welchen Befehlen könnt ihr eure Rollladen steuern? AN/AUS oder geht aus Hoch/Runter oder Auf/Zu ? ` über "An/Aus" und "setze Rolladen auf x %"
      @wendy2702:

      3. Geht eine Temperatur Abfrage von z.B. einem Homematic Aussensensor? ` Nein.

      Soviel ich wieß ist das in einer HUE-Bridge auch nciht vorgesehen. Oder gibt es mitlerweile HUE-Thermostate?

      1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 last edited by

        HI,

        Danke für die Antworten.

        Nein es gibt noch keine HUE Thermostate. Da ich aber nicht sicher war ob die NodeRed Lösung dasselbe macht wie eine HUE Bridge Simulation wollte ich mal fragen.

        Gruß

        1 Reply Last reply Reply Quote 0
        • M
          maxeddy last edited by

          Temperaturwerte ermitteln. Genau das versuche ich mit diesem Ansatz : http://forum.iobroker.net/viewtopic.php?f=37&t=12124

          zu ermitteln. Die Hue-Bridge-Emulation soll doch „nur“ eine optimale Version sein, um ohne Cloud (Internet) etwas zu steuern. Die Umsetzung ist dann reine Programmierarbeit. Alexa-local liefert: on == bri 100, off == bri 0 und bri - Werte dazwischen. Muss ja nicht zur Lampensteierung genutzt werden.

          1 Reply Last reply Reply Quote 0
          • BBTown
            BBTown last edited by

            @maxeddy:

            eine optimale Version sein, um ohne Cloud (Internet) etwas zu steuern ` Das wird dir nicht gelingen da Alexa ohne Cloud/Internet dumm wie Stroh ist und außer Strom verbrauchen rein gar nichts kann 8-)

            1 Reply Last reply Reply Quote 0
            • M
              maxeddy last edited by

              Hallo Bbtown, Alexa-local wird doch gerade hier zum Aktivieren /Schalten von Abläufen genutzt. Das Problem ist doch nur, dass ohne Cloud keine Rückmeldung gelingt.

              Wird das Internet nutzen möchte: der Hui-Bewegungsmeldern kann die Temperatur ausgeben. Mit diesem Node: https://flows.nodered.org/node/node-red … ure-sensor

              1 Reply Last reply Reply Quote 0
              • BBTown
                BBTown last edited by

                @maxeddy:

                Hallo Bbtown, Alexa-local wird doch gerade hier zum Aktivieren /Schalten von Abläufen genutzt. Das Problem ist doch nur, dass ohne Cloud keine Rückmeldung gelingt. ` Alexa versteht ohne Internetzugang kein Wort. Jedes gesprochene Kommando muss auf Amazon Server hochgeladen werden um dort analysiert/ausgewertet und interpretiert zu werden. Es gibt auf dem Geräten selbst keinerlei entsprechend Intelligenz/Rechenpower. Wenn jemand also sagt er würde node-red einsetzen um ohne cloud/internet Alexa-Sprachkommandos ausführen zu lassen, so ist das nach meinem Kenntnisstand schlichtweg unmöglich.

                @maxeddy:

                Wird das Internet nutzen möchte: der Hui-Bewegungsmeldern kann die Temperatur ausgeben. Mit diesem Node: https://flows.nodered.org/node/node-red … ure-sensor ` Ja, eine Temperatur kann womöglich aus dem HUE Bewegungsmelder ausgelesen werden (ich selbst habe keinen), das hat jedoch mit einer Temperatur/Heizungssteuerung nicht viel gemein.

                1 Reply Last reply Reply Quote 0
                • M
                  maxeddy last edited by

                  Du hast vollkommen Recht. Alexa ohne Internet geht nicht. Der Unterschied ist nur:

                  NO Alexa Skills required.

                  NO account linking required.

                  NO complicated parameters, it just work

                  1 Reply Last reply Reply Quote 0
                  • BBTown
                    BBTown last edited by

                    @maxeddy:

                    Du hast vollkommen Recht. Alexa ohne Internet geht nicht. Der Unterschied ist nur:

                    NO Alexa Skills required.

                    NO account linking required.

                    NO complicated parameters, it just work ` das ist einfach nicht wahr!!

                    Keine Heizungsteuerung

                    Keine Temperaturansagen (außer Hue Motion)

                    Keine Rückmeldung bzw. Darstellung der korrekten Siati in der App

                    [EDIT] auch nicht ganz unwichtig:

                    nur für bestimmte Nutzer, da keine Unterstützung für Echo Gen.2 (Echo Show?)

                    keine Unterscheidung der Geräte (alles "Light")

                    Über den Cloud Adapter kann darüber hinaus ein Startwert (Helligkeit/Lautsttärke) individuell eingestellt

                    vlt. ein wichtiger Hinweis … ich will mich ja überhaupt nicht streiten 8-)

                    Die Ansteuerung über node-red ist klasse als zusätzlicher Baustein/Möglichkeit und ich nutze diese ebenfalls 😉

                    Aber mehr ist es eben nicht ... eine Ergänzung!

                    Kein Ersatz!!

                    Das versuche ich die ganze Zeit zu relativieren.

                    Wer bisher mit dem Möglichkeiten des Cloud-Adapters Probleme hatte, und diese nun durch die Verwendung von node-red behoben sind, der hat alles richtig gemacht, Wenn der aber glaubt es sei nun von Internet und Cloud unabhängig, da kann ich nur sagen - weit gefehlt.

                    1 Reply Last reply Reply Quote 0
                    • W
                      Wildbill last edited by

                      Hi,

                      jetzt muss ich auch mal ne Frage zu diesem Adapter stellen. Ich ging bis gerade eben davon aus, dass der Adapter und Alexa, also mein Echo Dot rein im lokalen Netz miteinander agieren, von der Amazon-Cloud abgesehen. Also Anfrage an Alexa geht zu Amazon raus, Antwort von da kommt, welches lokale Gerät ich steuern möchte, und der Echo gibt das dann an den Node-Red-Adapter weiter, der ausführt. Dieser hat keine Verbindung nach "draussen" sondern macht das lokal.

                      Nun habe ich eben mal wieder mit der Reverb-App (Alexa für Android) gespielt und dabei das Handy auch mal testweise ohne WLAN betrieben, weil ich wissen wollte, was dann passiert. Und anders als erwartet hat das Handy die Geräte exakt so steuern können, als wenn ich es den Echo, der im selben Netz hängt, machen würde. Kann mir das einer erklären, wie die App auf dem Handy, welches nicht im lokalen Netz hängt und nur via Mobilfunk kommunizieren kann Geräte steuert, die nur lokal per Node-Red-Adapter erreichbar sind? :shock: 😮 :shock:

                      Einzig mögliche Erklärung wäre für mich momentan, dass Anfragen an den Amazon-Server an alle Alexa-Geräte von diesem Account zurückgehen, egal welches die Anfrage gestellt hat. Und dass mein lokaler Echo dann diese Anfrage eben an iobroker weitergeleitet hat, der ansonsten von außen nicht erreichbar ist. Kann das sein, aber, macht das auch Sinn? :?

                      Gruss, Jürgen

                      1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown last edited by

                        @Wildbill:

                        Kann mir das einer erklären, wie die App auf dem Handy, welches nicht im lokalen Netz hängt und nur via Mobilfunk kommunizieren kann Geräte steuert, die nur lokal per Node-Red-Adapter erreichbar sind? :shock: 😮 :shock: ` Am Ende des Tages liegen alle Smart-Geräte (bzw. die Informationen über selbige) auf einem Amazon Server. Also weder in/auf einem Echo, noch in der der Reverb-App.

                        Ein Echo ist nur ein "Mikrofon", so wie "Reverb" auch.

                        Also wird zum jedes Kommando ebenfalls zu Amazon geschickt und interpretiert.

                        Und je nach Kommando (Schalte, Setze) wird nachgeschaut ob es Smart-Home Geräte oder Skills gibt die diese Verarbeiten können und falls ja wird das entsprechende Kommando zurückgegeben (und landet dann womöglich irgendwann wieder im lokalen Netz).

                        Es ist also völlig egal ob das ursprüngliche Kommando an ein lokales Echo im W-Lan oder über GSM per Handy (Reverb) iiniziiert wurde.

                        1 Reply Last reply Reply Quote 0
                        • W
                          Wildbill last edited by

                          Hi,

                          soweit ist es mir klar, dass das alles über den Amazon-Server läuft. Aber da ich keinerlei Ports geöffnet habe und auch im iobroker die Cloud deaktiviert und nur den Node-Red-Adapter aktiviert habe muss ja irgendein Gerät im lokalen Netz etwas von den Amazon-Servern empfangen um zu reagieren und das an iobroker weiterzuleiten. Der Node-Red ist ja nicht mit dem Amazon-Server verbunden sondern simuliert nur Hue-Geräte, die lokal von "Alexa" gefunden werden.

                          Also ist es so, wie ich schon geschrieben habe, dass mein Echo im lokalen Netz dann auf die Befehle vom Amazon-Server reagiert und diese an den Node-Red-Adapter sendet?

                          Was im Übrigen cool an der Sache ist, ist die Tatsache, dass sich iobroker-Geräte damit aus der Ferne aus steuern lassen, ohne dass ein Cloud-Adapter oder VPN nötig wäre. 8-)

                          Gruss, Jürgen

                          1 Reply Last reply Reply Quote 0
                          • P
                            peterfido last edited by

                            @maxeddy:

                            Dort sieht man, dass 49% immer die Grundeinstellung auf der App ist. `

                            edit:

                            Hallo,

                            die Rückmeldung der Werte an die App habe ich erfolgreich für Heizungen getestet.

                            Bei der Alexa local (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-alexa-local/index.js):

                            edit: Datei weiter unten angehängt.

                            Bei Alexa Home (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-alexa-home/alexa/alexa-home.js):

                            Zeile 19 hinzu:````
                            node.aktWert = 0;

                            Zeile 155 hinzu:````
                                    console.log("aktWert_out:" + node.aktWert);
                            

                            Zeile 157 geändert:````
                            '{"on": ' + state + ', "bri": ' + node.aktWert + ',' +

                            Zeilen 218+219 hinzu:````
                            			node.aktWert = Math.round(briInput * 2.55);
                            			console.log("aktWert_in:" + node.aktWert);
                            

                            Davor, wie immer, ein Backup der Dateien machen. Änderungen mit einem Linux-fähigen Editor wie z.B. Notepad++

                            Das Skript Node testet auf Heizung höher oder niedriger. (Alexa, erhöhe Heizung)

                            if (msg.change_direction === 0){
                                msg.payload = msg.bri;
                            }else{
                                msg.payload = 49 + msg.change_direction;    
                            }    
                            
                            return msg;
                            

                            Das Java-Script dazu sieht dann so aus:

                            var logOn           = false;     // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
                            var forecreation    = false;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                            var http = require('http');     // Node Module http verwenden
                            
                            // Datenpunkte anlegen:
                            // -----------------------------------------------------------------------------
                            var idDatenpunkt = "alexa.wohnung.heizungbad";                      // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                            createState(idDatenpunkt, 0, forecreation, {                                  // Datenpunkt wird angelegt
                                 name: 'Bad Heizung',
                                 desc: 'Heizung einstellen',
                                 type: 'number',
                                 unit: '%',
                                 min: 0,
                                 max: 100,
                                 read: false,
                                 write: true,
                                 role: 'value'
                            });
                            
                            // Level Einstellen
                            // -----------------------------------------------------------------------------
                            function leveldef(dp) {
                                dpWert = dp.state.val;
                                var dpBez="hm-rpc.2.xxxx.1.SET_POINT_TEMPERATURE"; // Badezimmer 
                                var aktWert = getState(dpBez).val;    
                                var MinWert=6;
                                var MaxWert=24;
                                var GrundWert=18;
                                var sName="Badezimmer";
                            
                                 if (dpWert > MaxWert){
                                    if (dpWert < 49){
                                        if (aktWert > GrundWert){
                                            dpWert=aktWert-1;
                                        }
                                    }else{
                                        if (aktWert < MaxWert){
                                            dpWert=aktWert+1;
                                        }else{
                                            dpWert=aktWert;
                                        }
                                    }
                                }else if (dpWert < MinWert ) {
                                    dpWert=GrundWert;
                                }
                            
                                if (dpWert !== aktWert){
                                    log('Hzg ' + sName + ' von ' +aktWert + ' auf '+dpWert);
                                    setState(dpBez, dpWert );
                                }else{
                                    log('Hzg ' + sName + ' war schon auf ' +aktWert);    
                                }
                            
                            }
                            
                            // Abfrage des Datenpunkts
                            // -----------------------------------------------------------------------------
                            on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
                                leveldef(dp);
                            });
                            

                            5023_noderedr_ckmeldung.jpg

                            1 Reply Last reply Reply Quote 0
                            • E
                              el-lutschi last edited by

                              Hallo Leute,

                              erst einmal vielen Dank für die tolle Anleitung und die Idee dahinter.

                              Ich hab nun all meine Geräte von der Cloud in node-red verschoben. Das funktioniert grundsätzlich auch super!

                              Ein Problem habe ich, wie das halt immer ist, doch noch. Ich habe 3 Geräte (einfache, selbst in iobroker angelegte true/false states) die einfach nicht gesteuert werden.

                              Alexa bestätigt mir das Ausführen mit OK und auch in der node-red Oberfläche sehe ich, dass sich der Status des Obejekts geändert hat. In iobroker selbst wird allerdings nichts geschaltet.

                              Ich habe es bereits mit alexa-local und wemo-emu versucht, ohne Erfolg. Andere Objekte die ich in iobroker genauso angelegt habe funktionieren ohne Probleme.

                              Das soll mal einer verstehen :?

                              Hat vll jemand eine Lösung zu diesem Problem?

                              Gruß

                              Chris

                              1 Reply Last reply Reply Quote 0
                              • BBTown
                                BBTown last edited by

                                Ich kenne das verhalten vereinzelt von manchem Broadlink Datenpunkt

                                1 Reply Last reply Reply Quote 0
                                • E
                                  el-lutschi last edited by

                                  Ich habe nun mal folgendes getestet:

                                  Das nicht funktionierende iobroker Objekt gelöscht und mit leicht verändertem Namen wieder angelegt.

                                  Schwupps funktioniert das Ganz. Nicht die eleganteste Lösung, aber bei 3 Geräten zu verschmerzen.

                                  Gleich noch vorweg. Das Objekt mit dem selben Namen wieder anlegen funktioniert nicht.

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    peterfido last edited by

                                    Hallo,

                                    ich bin gestern und heute auch noch auf Probleme gestossen. Die Erkennung durch Echos der 2. Generation klappt ja bekanntlich nicht. Also habe ich mir andere Projekte angesehen. Da wurde von kritischen Timings gesprochen. Also vor dem Senden der Erkennung mal eine Pause von 1,5 Sekunden eingebaut, was in dem anderen Projekt geholfen haben soll. >> Hat nix gebracht. Dann unterschiedliche Seriennummern vergeben. Hat auch nichts gebracht. Dann die setup.xml an die anderer Projekte angepasst >> hat auch nix gebracht. Immer sagte Alexa, dass keine neuen Geräte gefunden wurden.

                                    Dann wollte ich aufräumen und was entdecke ich da auf der Alexa Website? - Das Gerät wurde irgendwann hinzugefügt. Also wieder gelöscht und nochmal probiert. >> nix

                                    Dann das Backup von gestern auf den Raspi und nur ein Home-Gerät hinzugefügt: >> Nicht gefunden…

                                    Im Quellcode sind auch noch eine Menge FIXXMEs drin. Daher am besten, wenn was funktioniert, nicht für Tests entfernen.

                                    Blöd ist aktuell noch, dass die WEMO Dinger keine Rückmeldung haben. Die Geräte sind in der Alexa App immer ausgeschaltet.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      peterfido last edited by

                                      Hallo,

                                      Bei Alexa-home funktioniert die Rückgabe an Alexa. Bei Alexa-local wirft er aktuell noch die Werte durcheinander. Komischerweise wird Node Red mit 1 beendet und gleich wieder gestartet, wenn ich wie bei Alexa-home vorgehe. Also thisNode.aktWert nutze.

                                      Nun suche ich nach der Möglichkeit, eine Variable für den gesamten Node zu haben. Alternativ müsste ich den aktWert durch die ganzen Funktionen mitschleppen. In die Persistent Storage wollte ich den Wert nun nicht mit ablegen. RAM sollte reichen.

                                      Die Sachen mit context und flow werden nur angemeckert. > xxx is not defined at handleInputMessage

                                      edit:

                                      OK, mit thisNode durchschleifen klappt es jetzt.

                                      ToDo sind dann noch die Schaltbefehle. Aktuell wird immer der Status ON gesendet.

                                      Anbei mein aktueller Stand der local-Version. (opt\iobroker\iobroker-data\node-red\node_modules\node-red-contrib-alexa-local)
                                      5023_index.js

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        LaBamba last edited by

                                        Bei mir funtioniert es Alexa-Loal leider nicht! Wer kann mir weiterhelfen? Anbei zwei Bilder die das Problem beschreiben.
                                        5246_alexa-local.jpg
                                        5246_fehlermeldung.jpg

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          peterfido last edited by

                                          Hallo,

                                          was steht in True / False drin? Evtl. aus einem Texteditor eingefügt und falsche (Zeilenende-)Zeichen mit kopiert?

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            peterfido last edited by

                                            Kleines Update:

                                            die Alexa-home Nodes werfen noch Fehlermeldungen aus. Da diese eh ,trotz gleicher Vorgehensweise, nicht erkannt werden, widme ich mich den Alexa-local Nodes.

                                            Leider hatte ich noch keinen Erfolg mit der Erkennung per Alexa der 2. Generation. Alle Anpassungen, welche die Ausgabe so nah wie möglich an einen Original-Hue Hub bringen, waren erfolglos (12 Stellige Seriennummer, Seriennummer kommt in der UUID vor, IP Adresse in Klammern hinter dem Namen, usw).

                                            Aktuell habe ich die Ist-Werte in der App. Aus-Zustand wird auch korrekt angezeigt. Der Original-Code schreibt allerdings bei jeder Änderung am Eingang was in den permanenten Speicher. Dieses habe ich schon geändert. Die Änderung der Seriennummern auf 12 habe ich drin gelassen. Die InputTrigger Option will ich für digitale Geräte (nur an/aus) mißbrauchen.

                                            Der Umbau des Codes ist jetzt schon relativ umfangreich. Auch bin ich über doppelte, identische Funktionen (setLightBriForLightId und Co) gestolpert. Ob diese schon vorher doppelt drin waren, oder mir ein Copy/Paste passiert ist, habe ich noch nicht nachgeprüft.

                                            edit: Nachgeprüft, die Funktionen sind im Original doppelt drin.

                                            anbei mein aktueller Stand. Da die Seriennummer und Gerätenummer auf 12 Stellen geändert ist, läuft der Code nicht mit bereits erstellten Nodes. Am besten die Nodes löschen, Code austauschen, node-red neu starten und Nodes neu erstellen.

                                            Im Storage wird nur abgelegt, wenn der Wert sich geändert hat und größer 0 ist. Ein Einschalten setzt dann den letzten Wert.
                                            5023_node-red-contrib-alexa-local.zip

                                            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

                                            896
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            118
                                            622
                                            172014
                                            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