Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Geräte steuern via Node-Red und Sonos One

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX Geräte steuern via Node-Red und Sonos One

    Hallo zusammen,

    ich möchte gerne per Sprachassistent, hier Sonos One, über Node-Red KNX Geräte steuern. In erster Instanz einfach mal ein Licht, ganz im Sinne von "Hello Blinky". Ich habe bereits experimentiert mit dem Knoten node-red-contrib-alexa-local. In Node-Red selbst läuft es auch aber das Gerät wird nicht in der Alexa App gefunden. Mögliche Gründe sind

    - Echo Show, Echo Spot, Sonos One do not have the capability to discovery devices locally
    - from Github: This Node is no longer working -> Deprecated

    In Github wird deshalb auf den Knoten node-red-contrib-amazon-echo verwiesen. Dort steht allerdings auch, dass nur Echos supported werden, nichts von Sonos One.

    Es gibt noch einen weiteren Dschungel an verschiedenen Node-Red Knoten aber es ist schwer sich da "durchzuquälen". Von daher die Frage, ob es bereits jemanden gibt, der die Sonos One per Node-Red ins Netzwerk eingebunden und erfolgreich KNX Telegramme verschickt hat.

    Falls das Thema bereits behandelt wurde wäre ich dankbar für einen Link, ich habe bisher nichts finden können.

    Vielen Dank vorab für eure Antworten.

    Viele Grüße
    Benny

    #2
    Ich nutze „node-red-contrib-alexa-cakebaked“. Funktioniert alles ohne Probleme mit meiner Sonos Beam und meinen Echos.
    Gruß Hannes

    Kommentar


      #3
      Ich nutze einmal den node-red-contrib-virtual-smart-home, der war am einfachsten Einzurichten, um quasi ein vorhandenes KNX-Objekt anzusprechen (Lampe Rollo usw.). Das ergibt dann jeweils ein gerät im Alexa-Account das dann von allen Echos und der App und ggf Regeln angesprochen werden kann.

      Daneben habe ich aber auch noch node-red-contrib-alexa-remote2-applestrudel in Benutzung. Darüber lasse ich Sprachausgaben auf Echos ausgeben wenn es bimmelt. Darüber KNX-Geräte ansteuern war mir nicht intuitiv genug. Ob das auch mit Sonos funktioniert kann ich nicht sagen, habe keine Sonos.
      ----------------------------------------------------------------------------------
      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
      Albert Einstein

      Kommentar


        #4
        Ach ja, zum Anlegen der virtuellen Geräte im Alexa Account nutz ich auch ebenfalls „node-red-contrib-virtual-smart-home“. War die einzige Node, die ich gefunden habe, bei der unterschiedliche Typen (Rollo, Licht, Switch,…) angelegt werden können. Funktioniert super mit meiner Sonos Beam.

        Für Sprach-Ausgaben nutz ich die oben genannte Node node-red-contrib-alexa-cakebaked
        Zuletzt geändert von h4nnes; 24.06.2022, 18:07.
        Gruß Hannes

        Kommentar


          #5
          Hallo Hannes und gbglace,

          vielen Dank für eure schnellen Antworten. Ich konnte mittlerweile wieder etwas experimentieren und ich habe es tatsächlich geschafft ein virtuelles device in der Alexapp sichtbar zu bekommen.

          Allerdings habe ich scheinbar Node-Red noch nicht richtig verstanden. Vielleicht könnt ihr mir wieder weiterhelfen. In dem Beispiel von node-red-contrib-alexa-local wurde ein "Change" Knoten zwischen das virtuelle device und den KNX Output gesetzt. Dieser hat in der msg.payload nach "on" geschaut und den Wert auf boolean true gesetzt, das wars. In dem virtuellen device hab ich mir die generierte Nachricht per debug Node angesehen und da steht auch "powerState: ON" drin. Da dachte ich könnte ich auch nach "ON" suchen und durch true ersetzen. Das tut aber nicht. Habe gerade keine Idee woran das liegt. Hab mir auch wieder die debug message ausgeben lassen nach dem Change Knoten, die sieht noch genauso aus wie die Input message. Das finde ich auch schon sehr komisch.

          Vielleicht habt ihr ja ne Idee.

          Danke vorab und noch einen schönen Sonntagabend.

          Grüße
          Benny

          Kommentar


            #6
            Ich nutz bei mir den Switch Node und hab 2 Ausgänge gesetzt für msg.payload.powerState ON oder OFF. Damit trigger ich dann bei mir meine entsprechende Home Assistant Entity (ich nutz bei mir Home Assistant). Du kannst ja aber stattdessen direkt deine KNX Node aufrufen
            Gruß Hannes

            Kommentar


              #7
              so einen Change braucht es wenn eben die payloads nicht kompatibel sind.

              Bei meinem Alexa node habe ich mir auch einen Funktionsnode zwischen gebaut. und folgenden Code eingefügt

              Code:
              var out_true = {payload: true}
              var out_false = {payload: false}
              
              if (msg.payload.directive == "TurnOn") {return out_true;}
              
              else if (msg.payload.directive == "TurnOff") {return out_false;}

              Und dann brauchst da noch was bei Rollos weil die in Übersee oben/unten bei den Prozentangaben verdrehen. Das habe ich aber gerade nicht im Zugriff.

              Mit dem debug node kann man das eigentlich immer alles auslesen was da je Aktion komplett gesendet wird und dann passend modifizieren was einem stört. ich nehme dann meist direkt eine Funktions-node und code das dann da rein. das sind dann ggf weniger von den fertigen Boxen aneinander gekettet. google hilft ja für die Syntax der Skriptsprache.
              ----------------------------------------------------------------------------------
              "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
              Albert Einstein

              Kommentar


                #8
                Ich habe es jetzt mal prototypisch hinbekommen mit einer Change-Node einfach eine neue Message zu setzen mit dem Wert true. Ich spreche jetzt also den Befehl in den Echo, das triggert den Change-Node und der erzeugt das richtige KNX Telegramm. Das funktioniert schonmal, d.h. ich kann mit der virtual smart home node arbeiten. Ich hatte auch daran gedacht mir ein Funktionsnode dazwischen zu packen, der dann mit if-Abfragen arbeitet.
                Wenns tut poste ich noch meine Lösung.

                Danke euch jedenfalls wieder für euren Support!

                BTW: Ich habe das virtuelle Gerät erst in der Alexa App gesehen nachdem ich einen Echo ins System eingebunden habe.

                Kommentar

                Lädt...
                X