Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten per Websocket mit NodeRed aus Gira HS auslesen?

Einklappen
Dieser Beitrag wurde beantwortet.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS Daten per Websocket mit NodeRed aus Gira HS auslesen?

    Hi,
    nachdem nun mein IOBroker mit meinen 2 Modbus Anbindungen super läuft möchte ich ein wenig optimieren...
    Ich benötige nur 2 KNX KO im Node RED, die ich auch als Endpunkt im HS verfügbar habe - dafür den Umweg übe KNXD zu gehen möchte ich mir eigentlich sparen - wozu alle KO im IO Broker verfügbar machen - verbessert die Sicherheit bestimmt nicht...

    Daher der Versuch mit einem Websocket IN die 2 KO zu lesen, Websocket out mit meinem vom Modbus kommenden Daten zum HS klappt prima...

    Ich habe gesehn das es die möglichkeit gibt KO zu abonieren...

    Hat das schon jemand im Node Red zum Laufen bekommen?
    Ich sehe auch immer im WS IN alles was ich in den WS OUT schiebe ist das richtig oder falsch konfiguriert?

    Oder wäre es besser eine Endpoint Call zu machen?
    analog https://HS_IP/endpoints/call?key=OBJ...er=USER&pw=PWD
    Dann ist mir der aufrufg im Node Red aber gar nicht mehr klar...

    Wäre schön wenn jemand ein Node Red Beispiel hätte...
    Danke und schönen Feiertag

    Boardy
    Zuletzt geändert von boardman; 03.10.2020, 17:01.
  • Als Antwort markiert von boardman am 01.02.2022, 07:40.

    Zitat von boardman Beitrag anzeigen
    ich glaube der Kontext ist nur damit du auf HS Seite siehst wo das Abo her kommt.. weiß ich nicht mehr 100%...

    Aber ja du musst alles abonieren was du haben willst, bei mir CO@DMX* und CO@KWL_PUSH*, daher die KO sinnvoll benennen damit du mit * arbeiten kannst...
    Screenshot 2022-01-31 191646.png
    Als context kann mal also jede mögliche Benennung machen, muss aber im HS nix hinterlegt werden, richtig?

    Kann man im Subscribe auch unterschiedliche EP abonnieren, sprich nicht nur CO... sondern auch DA, MA usw. (also im gleichen Json)

    Der Switch macht was genau (pink & grün eingerahmt)? call/subscribe/push?

    Für was genau ist der Timestamp? Stoßt dieser x-Sekunden nach dem deploy das Abonnieren an und startet dies dann alle 15min oder wie ist das gedacht?

    Beim hintersten msg.payload kommen keine Daten an, wie der Debug zeigt. Eigentich ist das eine "einfache" Toggle Funktion. Wie komme ich da ans Ziel, dass dort auch die 0 & 1 (in meinem Bsp.) ankommen?

    Kommentar


      #2
      Irgendwie verstehe ich nicht wozu es vom Weg KNX <> Modbus, gleich drei Systeme brauchen sollte, Gira-HS, Node-Red, io-Broker? Ob das im Sinne einer smarten und stabilen Lösung ist?
      ----------------------------------------------------------------------------------
      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
      Albert Einstein

      Kommentar


        #3
        Na das ist halt gewachsen, HS war zuerst da und dann brauchte ich um KWL PV und DMX dranzubasteln -- was ich bisher mit SmarthomePI und etwas gebastel am laufen hatte - vom Raspi will ich nun weg - und da IO Broker so viel zu bietet geht es damit halt am einfachsten (plus weiteres auf der Todo, wie Wetter, Spritpreise , DMX, und ums dann auf den Bus zu bringen entweder über KNXD oder HS-Websocket... daher fand ich die Websocket Lösung besser da ich es letztlich nur auf dem HS benötige...

        Kommentar


          #4
          So, läuft - dann werde ich mal alles auf WS umstellen und KNXD bzw KNX ist auf dem IOBroker nicht mehr notwendig... falls jemand das gleiche Problem hat bitte melden, dann schreib ich noch mal wie es geht... sobald alles hübch ist...

          Kommentar


            #5
            Also, da Nachfrage besteht vervollständige ich hier mal:
            die Grundlagen wurden hier besprochen:


            https://knx-user-forum.de/forum/%C3%...C3%BCbertragen

            Man muss für den Websocket die KO Objekte abonieren damit der HS Updates sendet...

            Ich habe die WS Eingangs- und Ausgangsseite auf einen Flow gelegt...:
            Das Subsribe erfolgt einmalig zum beginn und wiederholt sich dann alle 15 Minuten falls der HS mal gebootet wird...

            Screenshot 2020-11-24 173230.png



            Der erste switch filter den Rest weg so dass nur Push Nachrichten weiter verarbeitet werden...
            Für den Subscribe sollte man sich eine Präfix definieren damit nur die richtigen KO per Push kommen...

            Falls jemand noch optimierungstips hat nehm ich die gerne an (-:

            Somit konnte ich nun KNXD auf dem IOBroker deaktivieren...

            der Flow zum Importieren als Anhang, auf JSON umbenenen...
            Angehängte Dateien
            Zuletzt geändert von boardman; 24.11.2020, 17:52.

            Kommentar


              #6
              Danke Uwe für die Erklärung! Ich habe auch noch vor Node-Red und den HS per Websocket zu verbinden. Ich finde das immer wieder cool, dass ich hier eine Logik entwickeln kann, ohne den HS zu rebooten.

              Grüße
              Andreas

              Kommentar


                #7
                Danke der Flow funktioniert jetzt echt top. Vielen Dank!!!

                Wo ich aktuell aber gedanklich gerade nicht weiter komme ist, einen Status auf meine Ikea Zigbee Lampen zurück zubekommen.
                Da die Lampen ja auch PMs geschaltet werden, wäre ein Status zurück zu dem interne KO auf Homersever optimal.

                Da habe bis jetzt nur geschafft einen Loop zu bauen.
                Das fand der Homeserver und der ioBroker + Node Red garnicht lustig.

                Könnt Ihr mir bitte auf die Sprünge Helfen?

                Also, QuadClient zum IkeaLampen-Objekt das geht ABER für den Status bräuchte ich eine Idee.

                Bildschirmfoto 2021-04-29 um 21.54.31.png


                Kommentar


                  #8
                  Hallo,

                  verschiedene Werte an den Homeserver zu senden funktioniert bei mir ja schon ganz gut.
                  Aber was muss ich in das Template schreiben um einen 1Bit-Wert am Homeserver zu beschreiben.
                  1Bit.jpg
                  Da kommt bei mir nichts an. Danke vorab für die Hilfe.

                  Kommentar


                    #9
                    Hallo,

                    habe eine Lösung für mein Problem gefunden und dachte ich teile es mal hier, für alle die es interessiert.

                    01 IO Bit-Wert an HS.jpg 02 IO Eigenschaften Switch.jpg 03 IO Eigenschaften Template.jpg 04 HS Variable.jpg

                    Jetzt weiß ich nur noch nicht wie es in die andere Richtung geht. Sprich 1 Bit an den ioBroker senden so dass es NodeRed empfängt.
                    Vielleicht hat da ja jemand eine Lösung.
                    Danke
                    You do not have permission to view this gallery.
                    This gallery has 4 photos.

                    Kommentar


                      #10
                      Zitat von boardman Beitrag anzeigen
                      Also, da Nachfrage besteht vervollständige ich hier mal:
                      die Grundlagen wurden hier besprochen:


                      https://knx-user-forum.de/forum/%C3%...C3%BCbertragen

                      Man muss für den Websocket die KO Objekte abonieren damit der HS Updates sendet...

                      Ich habe die WS Eingangs- und Ausgangsseite auf einen Flow gelegt...:
                      Das Subsribe erfolgt einmalig zum beginn und wiederholt sich dann alle 15 Minuten falls der HS mal gebootet wird...

                      Screenshot 2020-11-24 173230.png



                      Der erste switch filter den Rest weg so dass nur Push Nachrichten weiter verarbeitet werden...
                      Für den Subscribe sollte man sich eine Präfix definieren damit nur die richtigen KO per Push kommen...

                      Falls jemand noch optimierungstips hat nehm ich die gerne an (-:

                      Somit konnte ich nun KNXD auf dem IOBroker deaktivieren...

                      der Flow zum Importieren als Anhang, auf JSON umbenenen...

                      ich werde irgendwie nicht schlau aus dem Flow.
                      wollte eigentlich nur einen einfachen E/A Befehl im HS (internes KO) schalten und an NR übergeben, um dort ne Lampe E/A zu schalten.

                      https://IP_HS/endpoints/call?key=CO@...ser=XXX&pw=YYY

                      nr.png

                      Verbindung zum HS WS steht, Daten dort hin senden funktioniert auch soweit.
                      Beim Empfangen kommt jedoch am msg.payload nichts an.

                      Was ich auch noch nicht verstanden habe, für was genau ist der flow mit dem timestamp & subscribe? Wenn der HS etwas sendet, werden diese Daten doch direkt an NR gesendet oder muss da in Zeitabständen etwas abonniert werden (macht für mich irgendwie keinen Sinn)?

                      Kommentar


                        #11
                        wie sieht dein Subscribe aus? hast du meinen flow als Grundlage genommen, dann siehst du was da drin steht... Ahne Abo keine Daten

                        Kommentar


                          #12
                          Zitat von boardman Beitrag anzeigen
                          wie sieht dein Subscribe aus? hast du meinen flow als Grundlage genommen, dann siehst du was da drin steht... Ahne Abo keine Daten
                          node.png
                          flow.png

                          Habe ich das richtig Verstanden, dass man jeden EndPoint abonnieren/subscriben muss?
                          Für was ist der "Context": "Nodered"?
                          Der Switch macht was genau (pink & grün eingerahmt)? call/subscribe/push?
                          Beim hintersten msg.payload kommen keine Daten an, wie der Debug zeigt. Eigentich ist das eine "einfache" Toggle Funktion
                          Für was genau ist der Timestamp? Stoßt dieser x-Sekunden nach dem deploy das Abonnieren an und startet dies dann alle 15min oder wie ist das gedacht?
                          Zuletzt geändert von SpeedyBlade; 31.01.2022, 17:15.

                          Kommentar


                            #13
                            ich glaube der Kontext ist nur damit du auf HS Seite siehst wo das Abo her kommt.. weiß ich nicht mehr 100%...

                            Aber ja du musst alles abonieren was du haben willst, bei mir CO@DMX* und CO@KWL_PUSH*, daher die KO sinnvoll benennen damit du mit * arbeiten kannst...
                            Screenshot 2022-01-31 191646.png

                            Kommentar


                              #14
                              Zitat von boardman Beitrag anzeigen
                              ich glaube der Kontext ist nur damit du auf HS Seite siehst wo das Abo her kommt.. weiß ich nicht mehr 100%...

                              Aber ja du musst alles abonieren was du haben willst, bei mir CO@DMX* und CO@KWL_PUSH*, daher die KO sinnvoll benennen damit du mit * arbeiten kannst...
                              Screenshot 2022-01-31 191646.png
                              Als context kann mal also jede mögliche Benennung machen, muss aber im HS nix hinterlegt werden, richtig?

                              Kann man im Subscribe auch unterschiedliche EP abonnieren, sprich nicht nur CO... sondern auch DA, MA usw. (also im gleichen Json)

                              Der Switch macht was genau (pink & grün eingerahmt)? call/subscribe/push?

                              Für was genau ist der Timestamp? Stoßt dieser x-Sekunden nach dem deploy das Abonnieren an und startet dies dann alle 15min oder wie ist das gedacht?

                              Beim hintersten msg.payload kommen keine Daten an, wie der Debug zeigt. Eigentich ist das eine "einfache" Toggle Funktion. Wie komme ich da ans Ziel, dass dort auch die 0 & 1 (in meinem Bsp.) ankommen?

                              Kommentar


                                #15
                                Zitat von SpeedyBlade Beitrag anzeigen

                                Als context kann mal also jede mögliche Benennung machen, muss aber im HS nix hinterlegt werden, richtig? ->siehe oben...

                                Kann man im Subscribe auch unterschiedliche EP abonnieren, sprich nicht nur CO... sondern auch DA, MA usw. (also im gleichen Json), sollte gehen, musst du mal forschen da ich das nicht benötigt habe

                                Der Switch macht was genau (pink & grün eingerahmt)? call/subscribe/push?

                                Für was genau ist der Timestamp? Stoßt dieser x-Sekunden nach dem deploy das Abonnieren an und startet dies dann alle 15min oder wie ist das gedacht? -> ganau, hatte ich ja oben beschrieben
                                hast du meien flow mal importiert, da kannst du dir alles ansehen, auch den switch und das json - dann siehst du dass dein Json falsch ist...
                                Screenshot 2022-02-01 075251.png

                                Kommentar

                                Lädt...
                                X