Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Alexa-Anbindung eines Dimmers mit Node-RED

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Alexa-Anbindung eines Dimmers mit Node-RED

Geplant Angeheftet Gesperrt Verschoben Node-Red
11 Beiträge 3 Kommentatoren 383 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    schnipsel71
    schrieb am zuletzt editiert von
    #1

    Aus irgendeinem Grund schaffe ich es nicht, die Dimmfunktion meiner Spots im Wohnzimmer über Alexa mit Node-RED zu realisieren.

    8beda449-826f-4638-a43e-e7114bc7a7f6-image.png

    Wo liegt der Fehler?

    ? 1 Antwort Letzte Antwort
    0
    • S schnipsel71

      Aus irgendeinem Grund schaffe ich es nicht, die Dimmfunktion meiner Spots im Wohnzimmer über Alexa mit Node-RED zu realisieren.

      8beda449-826f-4638-a43e-e7114bc7a7f6-image.png

      Wo liegt der Fehler?

      ? Offline
      ? Offline
      Ein ehemaliger Benutzer
      schrieb am zuletzt editiert von
      #2

      @schnipsel71
      leider verrätst Du ja nicht viel wie weit du kommst, oder wo es hakt.
      Man sieht ja den bewährten Skill "Node-RED Contrib Amazon Echo module", aber auch den Nachfolger "dulonode".
      Wird denn dein Smart-Gerät (Spots) überhaupt bei einer Alexa Suche gefunden? Das wäre ja der erste Schritt. Ich hatte immer Schwierigkeiten (nach jedem iobroker Neustart) das ganze funktionabel zu halten, solange Port 80 benutzt wurde. es musste immer auf der Konsole "erlaubt" werden unterhalb von Port 1000 was zu machen.

      sudo setcap ‚cap_net_bind_service=+ep‘ which node
      

      Leider keine Lösung die "Bootsicher" ist
      Nutze seither einen anderen Port und "biege" mir den Port 80 dahin um.
      Damit Alexa dein Gerät(e) findet, müsste so ein Aufruf funktionieren:

      http://youraddr:80/description.xml
      und so ein Ergebnis liefern:

      fc5a6bec-fd3d-4754-a245-66636ed1ed8e-image.png

      Solange das nicht funktioniert, brauchst du gar nicht weiter machen.
      Hier mal meine alten Notizen, die ich mir mal gemacht hatte:


      Deshalb „biegen wir den Port um“ und zwar von Port 80 auf Port 8095. So schickt das Echo Device die Befehle an Port 80, diese „landen“ aber auf Port 8095. Der hier gezeigte Weg scheint kompliziert und aufwendig, aber nur auf den ersten Blick und ist eigentlich einfach und schnell in 4 Schritten erledigt. Als root User per SSH auf der Iobroker Maschine wird festgestellt wie die Netzwerkkarte heißt:

      ifconfig

      gibt ifconfig eine Fehlermeldung aus, ist es noch nicht installiert, das holt man nach mit:

      apt-get install net-tools und versucht es nochmal mit dem Befehl ifconfig. Die Ausgabe sieht dann ungefähr so aus:

      425c3447-745a-4c8d-9429-bca72b97f0c8-image.png

      Von dieser Ausgabe brauchen wir nur den Namen der Netzwerkkarte z.B ETH0, oder wie in diesem Fall ens18.

      Zuerst „befehlen“ wir, dass unsere „Portumbiegung“ akzeptiert werden soll:

      iptables -I INPUT 1 -p tcp –dport 80 -j ACCEPT

      Dann kommt die eigentliche „Umbiegung“ von Port80 auf Port 8095:

      iptables -A PREROUTING -t nat -i ens18 -p tcp –dport 80 -j REDIRECT –to-port 8095

      Wobei für ens18 evtl. der eigene Name der Netzwerkkarte eingesetzt werden muss (zB. ETH0). Mit diesen 3 schritten wäre die Umbiegung bereits fertig, allerdings nur bis zum nächsten Neustart der Maschine. Deswegen müssen wir das ganze noch „permanent“ machen:

      apt install iptables-persistent

      Damit ist die Port Einrichtung auch schon beendet und wir kommen zu den einfacheren Schritten. Zuerst installieren wir unter Adapter node-red und fügen eine Instanz hinzu....


      In der Konfiguration vom Echo-Hub in Node-Red wird dann der port 8095 eingetragen, durch die "Umbiegung" findet Alexa den Hub aber trotzdem auf Port 80 (siehe Link von oben)

      330a38e6-defe-48d9-b33e-90aa28d93701-image.png

      Auseinander getüddelt hatte ich mir das Ganze von hier (Solution 2)

      https://github.com/datech/node-red-contrib-amazon-echo/wiki/Troubleshooting

      Wenn Du bis da gekommen bist und es dann bei den weiteren Schritten klemmt, sag Bescheid.

      Es ist extrem entspannend unbeteiligt die Diskussionen rund um IOT, Matter, Alexa Skills (v2, v3) mit zu verfolgen und gleichzeitig zu wissen, dass alles weiter funktioniert und weiter funktionieren wird, ohne Gedöns.

      e324a8de-fe04-47c3-82ee-a2432e344413-image.png

      KISS. Was man nicht benutzt, kann auch nicht kaputt gehen.

      S 1 Antwort Letzte Antwort
      0
      • ? Ein ehemaliger Benutzer

        @schnipsel71
        leider verrätst Du ja nicht viel wie weit du kommst, oder wo es hakt.
        Man sieht ja den bewährten Skill "Node-RED Contrib Amazon Echo module", aber auch den Nachfolger "dulonode".
        Wird denn dein Smart-Gerät (Spots) überhaupt bei einer Alexa Suche gefunden? Das wäre ja der erste Schritt. Ich hatte immer Schwierigkeiten (nach jedem iobroker Neustart) das ganze funktionabel zu halten, solange Port 80 benutzt wurde. es musste immer auf der Konsole "erlaubt" werden unterhalb von Port 1000 was zu machen.

        sudo setcap ‚cap_net_bind_service=+ep‘ which node
        

        Leider keine Lösung die "Bootsicher" ist
        Nutze seither einen anderen Port und "biege" mir den Port 80 dahin um.
        Damit Alexa dein Gerät(e) findet, müsste so ein Aufruf funktionieren:

        http://youraddr:80/description.xml
        und so ein Ergebnis liefern:

        fc5a6bec-fd3d-4754-a245-66636ed1ed8e-image.png

        Solange das nicht funktioniert, brauchst du gar nicht weiter machen.
        Hier mal meine alten Notizen, die ich mir mal gemacht hatte:


        Deshalb „biegen wir den Port um“ und zwar von Port 80 auf Port 8095. So schickt das Echo Device die Befehle an Port 80, diese „landen“ aber auf Port 8095. Der hier gezeigte Weg scheint kompliziert und aufwendig, aber nur auf den ersten Blick und ist eigentlich einfach und schnell in 4 Schritten erledigt. Als root User per SSH auf der Iobroker Maschine wird festgestellt wie die Netzwerkkarte heißt:

        ifconfig

        gibt ifconfig eine Fehlermeldung aus, ist es noch nicht installiert, das holt man nach mit:

        apt-get install net-tools und versucht es nochmal mit dem Befehl ifconfig. Die Ausgabe sieht dann ungefähr so aus:

        425c3447-745a-4c8d-9429-bca72b97f0c8-image.png

        Von dieser Ausgabe brauchen wir nur den Namen der Netzwerkkarte z.B ETH0, oder wie in diesem Fall ens18.

        Zuerst „befehlen“ wir, dass unsere „Portumbiegung“ akzeptiert werden soll:

        iptables -I INPUT 1 -p tcp –dport 80 -j ACCEPT

        Dann kommt die eigentliche „Umbiegung“ von Port80 auf Port 8095:

        iptables -A PREROUTING -t nat -i ens18 -p tcp –dport 80 -j REDIRECT –to-port 8095

        Wobei für ens18 evtl. der eigene Name der Netzwerkkarte eingesetzt werden muss (zB. ETH0). Mit diesen 3 schritten wäre die Umbiegung bereits fertig, allerdings nur bis zum nächsten Neustart der Maschine. Deswegen müssen wir das ganze noch „permanent“ machen:

        apt install iptables-persistent

        Damit ist die Port Einrichtung auch schon beendet und wir kommen zu den einfacheren Schritten. Zuerst installieren wir unter Adapter node-red und fügen eine Instanz hinzu....


        In der Konfiguration vom Echo-Hub in Node-Red wird dann der port 8095 eingetragen, durch die "Umbiegung" findet Alexa den Hub aber trotzdem auf Port 80 (siehe Link von oben)

        330a38e6-defe-48d9-b33e-90aa28d93701-image.png

        Auseinander getüddelt hatte ich mir das Ganze von hier (Solution 2)

        https://github.com/datech/node-red-contrib-amazon-echo/wiki/Troubleshooting

        Wenn Du bis da gekommen bist und es dann bei den weiteren Schritten klemmt, sag Bescheid.

        Es ist extrem entspannend unbeteiligt die Diskussionen rund um IOT, Matter, Alexa Skills (v2, v3) mit zu verfolgen und gleichzeitig zu wissen, dass alles weiter funktioniert und weiter funktionieren wird, ohne Gedöns.

        e324a8de-fe04-47c3-82ee-a2432e344413-image.png

        KISS. Was man nicht benutzt, kann auch nicht kaputt gehen.

        S Offline
        S Offline
        schnipsel71
        schrieb am zuletzt editiert von
        #3

        @j_paul Ja, du hast Recht - ich muss noch nachtragen:

        Die Spots kann ich über Alexa erreichen, indem ich beispielsweise sage "Spots aus" oder "Spots an". Aber das Dimmen mit "Spots dimmen auf 30%" funktioniert leider nicht.

        Vielen Dank für den Tipp mit dem Port, aber an dem hängt es anscheinend nicht.

        Hast du noch eine andere Idee?

        ? 1 Antwort Letzte Antwort
        0
        • S schnipsel71

          @j_paul Ja, du hast Recht - ich muss noch nachtragen:

          Die Spots kann ich über Alexa erreichen, indem ich beispielsweise sage "Spots aus" oder "Spots an". Aber das Dimmen mit "Spots dimmen auf 30%" funktioniert leider nicht.

          Vielen Dank für den Tipp mit dem Port, aber an dem hängt es anscheinend nicht.

          Hast du noch eine andere Idee?

          ? Offline
          ? Offline
          Ein ehemaliger Benutzer
          schrieb am zuletzt editiert von
          #4

          @schnipsel71

          542e6318-9ce9-4dab-835e-711b2979ea99-image.png

          Die Funktion fürs dimmen:

          msg.payload = parseInt(msg.bri / 254 * 100);
          return msg;
          

          zum (sicheren) Auschalten hatte ich noch den Switch

          b576db63-8ecb-461e-a8c0-659ee5b0ad3e-image.png

          Mit der angehängten Funktion

          msg.payload = 0;
          return msg;
          

          Sag mal bitte, ob das so klappt.

          S 1 Antwort Letzte Antwort
          0
          • ? Ein ehemaliger Benutzer

            @schnipsel71

            542e6318-9ce9-4dab-835e-711b2979ea99-image.png

            Die Funktion fürs dimmen:

            msg.payload = parseInt(msg.bri / 254 * 100);
            return msg;
            

            zum (sicheren) Auschalten hatte ich noch den Switch

            b576db63-8ecb-461e-a8c0-659ee5b0ad3e-image.png

            Mit der angehängten Funktion

            msg.payload = 0;
            return msg;
            

            Sag mal bitte, ob das so klappt.

            S Offline
            S Offline
            schnipsel71
            schrieb am zuletzt editiert von
            #5

            @j_paul Leider funktioniert das auch nicht. Die Spots schalten immer grundsätzlich auf 50%, gleich welche Zahl ich sage zwischen 1% und 100%. Nur bei 0% schalten die Spots komplett aus. Genauso, wie wenn ich sage "Spots aus".

            ? 1 Antwort Letzte Antwort
            0
            • S schnipsel71

              @j_paul Leider funktioniert das auch nicht. Die Spots schalten immer grundsätzlich auf 50%, gleich welche Zahl ich sage zwischen 1% und 100%. Nur bei 0% schalten die Spots komplett aus. Genauso, wie wenn ich sage "Spots aus".

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #6

              @schnipsel71
              Könntest du mal (um das Problem einzukreisen) auf einen anderen Datenpunkt lenken? Irgend ein State im 0_User Verzeichnis vom Typ Number würde ja reichen.
              Nur zum Testen mal….

              P 1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                @schnipsel71
                Könntest du mal (um das Problem einzukreisen) auf einen anderen Datenpunkt lenken? Irgend ein State im 0_User Verzeichnis vom Typ Number würde ja reichen.
                Nur zum Testen mal….

                P Offline
                P Offline
                peterfido
                schrieb am zuletzt editiert von peterfido
                #7

                @j_paul Alexa kennt den aktuellen Wert nicht. Der wird auf der linken Seite mit Angabe der Node-ID an Alexa gemeldet. Da kommen alle Istwerte hin, damit Alexa weiß, dass der letzte Befehl auch eingetrudelt ist. Die Hilfe zu dem Node gibt da Details zu preis.
                Screenshot_20251029_193146_Vivaldi.jpg

                Ansosnten sollte man auch alle angelernten Geräte in der Alexa-App sehen und steuern können, wenn die Anbindung in Ordnung ist.

                Gruß

                Peterfido


                Proxmox auf Intel NUC12WSHi5
                ioBroker: Debian (VM)
                CCU: Debmatic (VM)
                Influx: Debian (VM)
                Grafana: Debian (VM)
                eBus: Debian (VM)
                Zigbee: Debian (VM) mit zigbee2mqtt

                ? 1 Antwort Letzte Antwort
                0
                • P peterfido

                  @j_paul Alexa kennt den aktuellen Wert nicht. Der wird auf der linken Seite mit Angabe der Node-ID an Alexa gemeldet. Da kommen alle Istwerte hin, damit Alexa weiß, dass der letzte Befehl auch eingetrudelt ist. Die Hilfe zu dem Node gibt da Details zu preis.
                  Screenshot_20251029_193146_Vivaldi.jpg

                  Ansosnten sollte man auch alle angelernten Geräte in der Alexa-App sehen und steuern können, wenn die Anbindung in Ordnung ist.

                  ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                  #8

                  @peterfido
                  Weiß jetzt nicht, ob Du den Beitrag nicht richtig gelesen hast, oder wo das Missverständnis herrührt.

                  Es geht darum, dass bei @schnipsel71 das Dimmen über die (siehe oben) "Dimm Funktion" nicht funktioniert, bei mir aber schon:
                  "Alexa, schalte Kronleuchter auf 18 Prozent"
                  wird im Datenpunkt über das "Iobroker-Node-Out" 18 geschrieben, siehe:
                  1f0b0275-acb3-4216-abfc-934211ac182b-image.png
                  Um auszuschließen, dass etwas externes (Das Gerät von Schnipsel, oder ein Skript o.ä.) den Datenpunkt mit 50 beschreibt, war mein Vorschlag es mal mit einem frisch angelegtem Datenpunkt im 0_Userverzeichnis zu probieren, zum testen/ausschließen.
                  @peterfido, zumindest kann ich nicht erkennen, wie Deine Antwort zur Fragestellung passen könnte.
                  @schnipsel71 Konntest Du das mal testen?
                  und bist du sicher, dass dies in der Dimmer Funktion steht?

                  msg.payload = parseInt(msg.bri / 254 * 100);
                  return msg;
                  
                  P S 2 Antworten Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    @peterfido
                    Weiß jetzt nicht, ob Du den Beitrag nicht richtig gelesen hast, oder wo das Missverständnis herrührt.

                    Es geht darum, dass bei @schnipsel71 das Dimmen über die (siehe oben) "Dimm Funktion" nicht funktioniert, bei mir aber schon:
                    "Alexa, schalte Kronleuchter auf 18 Prozent"
                    wird im Datenpunkt über das "Iobroker-Node-Out" 18 geschrieben, siehe:
                    1f0b0275-acb3-4216-abfc-934211ac182b-image.png
                    Um auszuschließen, dass etwas externes (Das Gerät von Schnipsel, oder ein Skript o.ä.) den Datenpunkt mit 50 beschreibt, war mein Vorschlag es mal mit einem frisch angelegtem Datenpunkt im 0_Userverzeichnis zu probieren, zum testen/ausschließen.
                    @peterfido, zumindest kann ich nicht erkennen, wie Deine Antwort zur Fragestellung passen könnte.
                    @schnipsel71 Konntest Du das mal testen?
                    und bist du sicher, dass dies in der Dimmer Funktion steht?

                    msg.payload = parseInt(msg.bri / 254 * 100);
                    return msg;
                    
                    P Offline
                    P Offline
                    peterfido
                    schrieb am zuletzt editiert von peterfido
                    #9

                    @j_paul Zumindest mein Hinweis und der App. Da kann man dann sehen, was tatsächlich bei Alexa ankommt.

                    Zum Testen würde ich einfach ein oder mehrere Inject nehmen, und den Wert manuell vorgeben. Mit einem Debug-Node kann man schauen, was Alexa da sendet. Dafür das komplette Nachrichtenobjekt ausgeben. Wenn das klappt, dann weiterschauen.

                    Ich kann mich erinnern, dass anfangs immer 50% an Alexa gesendet wurden, um den Befehl heller oder dunkler mit fixen Werten zu erkennen. Evtl. nehmen die Spots auch Werte bei bri bis 255 direkt an.

                    Das Zurückmelden des Ist-Zustands an Alexa ist auch notwendig, um die Schalterpositionen in der Alexa App korrekt vorzugeben und einem "reagiert nicht" vorzubeugen.

                    Gruß

                    Peterfido


                    Proxmox auf Intel NUC12WSHi5
                    ioBroker: Debian (VM)
                    CCU: Debmatic (VM)
                    Influx: Debian (VM)
                    Grafana: Debian (VM)
                    eBus: Debian (VM)
                    Zigbee: Debian (VM) mit zigbee2mqtt

                    1 Antwort Letzte Antwort
                    0
                    • ? Ein ehemaliger Benutzer

                      @peterfido
                      Weiß jetzt nicht, ob Du den Beitrag nicht richtig gelesen hast, oder wo das Missverständnis herrührt.

                      Es geht darum, dass bei @schnipsel71 das Dimmen über die (siehe oben) "Dimm Funktion" nicht funktioniert, bei mir aber schon:
                      "Alexa, schalte Kronleuchter auf 18 Prozent"
                      wird im Datenpunkt über das "Iobroker-Node-Out" 18 geschrieben, siehe:
                      1f0b0275-acb3-4216-abfc-934211ac182b-image.png
                      Um auszuschließen, dass etwas externes (Das Gerät von Schnipsel, oder ein Skript o.ä.) den Datenpunkt mit 50 beschreibt, war mein Vorschlag es mal mit einem frisch angelegtem Datenpunkt im 0_Userverzeichnis zu probieren, zum testen/ausschließen.
                      @peterfido, zumindest kann ich nicht erkennen, wie Deine Antwort zur Fragestellung passen könnte.
                      @schnipsel71 Konntest Du das mal testen?
                      und bist du sicher, dass dies in der Dimmer Funktion steht?

                      msg.payload = parseInt(msg.bri / 254 * 100);
                      return msg;
                      
                      S Offline
                      S Offline
                      schnipsel71
                      schrieb am zuletzt editiert von
                      #10

                      @j_paul Leider wird meinem, zu Testzwecken definierten Datenpunkt "Probewert" auch nur 0 oder 50 übergeben.

                      34f40d12-3a1d-4b70-90b9-3f52575f52cf-image.png

                      P 1 Antwort Letzte Antwort
                      0
                      • S schnipsel71

                        @j_paul Leider wird meinem, zu Testzwecken definierten Datenpunkt "Probewert" auch nur 0 oder 50 übergeben.

                        34f40d12-3a1d-4b70-90b9-3f52575f52cf-image.png

                        P Offline
                        P Offline
                        peterfido
                        schrieb am zuletzt editiert von peterfido
                        #11

                        @schnipsel71 Häng mal hinter Spots ein Debug-Node mit der Konfig komplettes Nachrichtenobjekt. Dann Alexa bitten, die Helligkeit auf 33 Prozent zu setzen. Die Ausgabe des Debug-Nodes hier posten.

                        Beispiel: Wenn ich sage, Alexa, Gartenlicht 30 Prozent, kommt Folgendes raus:

                        fb545bab-a095-455b-b86f-ad9759d6bdcb-image.png

                        Meine Rückmeldung an Alexa sieht so aus:

                        bfd627c6-ff85-46e1-9475-0786afab94b2-image.png

                        var nodeid = "idDesNodesGartenLicht";
                        var obj = JSON.parse(msg.payload);
                        var ison=obj.on;
                        var proz=obj.percentage;
                        var hex=obj.rgb;
                        var hell=parseInt(obj.bri*255/100);
                        var color = [];
                        color[0] = parseInt (hex.substring (0, 2), 16);
                        color[1] = parseInt (hex.substring (2, 4), 16);
                        color[2] = parseInt (hex.substring (4, 6), 16);
                        
                        var newMsg={
                            payload: ''
                        }
                        
                        newMsg.payload= {
                            nodeid: nodeid,
                            on: ison,
                            bri: hell,
                            rgb: color
                            }
                        
                        node.status({text:"on: "+ison+", proz:"+proz});
                        return newMsg;
                        

                        Gruß

                        Peterfido


                        Proxmox auf Intel NUC12WSHi5
                        ioBroker: Debian (VM)
                        CCU: Debmatic (VM)
                        Influx: Debian (VM)
                        Grafana: Debian (VM)
                        eBus: Debian (VM)
                        Zigbee: Debian (VM) mit zigbee2mqtt

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        780

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe