Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Nodered Problem mit Websocket

    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

    Nodered Problem mit Websocket

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

      Fehler besteht weiterhin
      Die Ip Adresse ist schon jede vom ioBroker, richtig?
      Alles andere würde für mich keinen Sinn machen.

      fehler.png

      selbst dieses einfache Beispiel funktioniert ja nicht mal

      fehler.png

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

        @speedyblade Na das ist ja was ich meine. Wenn diese einfache Beispiel nicht funktioniert - dann ist da der Wurm drin.

        Zeig doch mal wie Du den Node-Red Editor aufrufst. Gibst Du auch brav http://192.168.0.118:1880/simple ein und nicht nur die IP-Adresse?

        S 1 Reply Last reply Reply Quote 0
        • S
          SpeedyBlade @mickym last edited by

          @mickym hier.png

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

            @speedyblade Und wie schaut dann die URL aus, wenn Du es aufgerufen hast? - Also im Browser.
            Und wie gesagt das http:// am Anfang nicht weglassen.

            Hast Du irgendwas an Deiner settings.js gefummelt oder meldest Du Dich mir Namen und Passwort im Node-Red an?

            S 1 Reply Last reply Reply Quote 0
            • S
              SpeedyBlade @mickym last edited by SpeedyBlade

              @mickym

              fehler.png

              nein..nichts herumgefummelt...habe sogar extra neu aufgesetzt...auch ohne Erfolg

              und ja...Name und Passwort hatte ich zuerst, aber aktuell fahre ich ohne Zugangsdaten, dennoch wird die Page nicht aufgerufen

              auch bereits neu installiert, fixer drüber gelaufen, alle browser durch probiert..hat alles nichts gebracht.
              kann es sein, dass der Port 1880 eventuell anderweitig genutzt wird?

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

                @speedyblade Klar kann das sein - deswegen wollte ich ja wissen, was im Browser steht wenn Du normal node-red aufrufst. Da siehst ja welche IP Adresse und welchen port Du benutzt.

                S 1 Reply Last reply Reply Quote 0
                • S
                  SpeedyBlade @mickym last edited by SpeedyBlade

                  @mickym

                  http://192.168.0.118:1885/simple

                  na klar...der Port von NodeRed muss verwendet werden

                  fehler.png

                  Jetzt ist auch der WS verbunden 🙂

                  042be7af-e60f-41aa-bff5-5ce979d47ff4-image.png

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

                    @speedyblade Na also 👍 👍 👍

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      SpeedyBlade @mickym last edited by

                      @mickym
                      jetzt kann ich zu meinem ursprünglichem Problem zurück 😉
                      Es läuft ein Gira HS der Endpoints sendet.
                      Die WS Verbindung zum HS steht, einfache E/A Befehle können auch von NR zum HS gesendet werden.
                      Umgekehrt jedoch noch nicht.
                      Muss das in NR abonniert werden, oder wie checkt NR, wann der HS Daten sendet?

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

                        @speedyblade

                        Wenn ein WS Verbindung steht - steht diese in beide Richtungen und dann hört die ws- IN Node mit dem Lauschen ob was ankommt.

                        f3226c89-68d6-4423-a71a-9f8bad99fe97-image.png

                        Auf der Beispielseite siehst Du ja dass im Debug Fenster was ankommt, wenn du den Button Click to send message ankommt.

                        mit

                          function doit(m) {
                                if (ws) { ws.send(m); }
                        

                        ws.send - schickt also der Server auf der anderen seite seine Nachricht.

                        Da kann aber NodeRed nichts machen - wenn eine ws Verbindung steht muss natürlich immer derjenige, der was senden will initiativ werden. Also musst Du wohl oder übel auf der HS Seite schauen, warum der nichts sendet.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          SpeedyBlade @mickym last edited by

                          @mickym

                          https://192.168.0.11/endpoints/call?key=CO@TEST_EIN_AUS&method=toggle&value=1&user=XXX&pw=YYY

                          gibt man den Befehl im Browser ein, wird das Objekt getogglet im HS.

                          Ergebnis

                          {"request": {"method": "toggle", "key": "CO@TEST_EIN_AUS"}, "code": 0, "type": "call"}
                          

                          Json-Format

                          {
                          "request":{
                          "method":"toggle",
                          "key":"CO@TEST_EIN_AUS"
                          },
                          "code":0,
                          "type":"call"
                          }
                          
                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @SpeedyBlade last edited by

                            @speedyblade Das ist aber keine Websocket Verbindung - und dazu braucht man das auch nicht. Das ist eine normale HTTP-Get Kommunikation. Dafür brauchst Du wie gesagt die websocket Nodes nicht.. Wenn Du im HS entsprechende URLs zu bestimmten Aktien festlegen kannst, ist das somit kein Problem.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SpeedyBlade @mickym last edited by

                              @mickym

                              hier ein Beispiel, wie Daten von NR an den HS via WS gesendet werden.
                              ws.png

                              Wenn das kein WS ist, dann kenne ich mich nicht mehr aus 😉

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

                                @speedyblade Das hat doch mit WS nichts zu tun.

                                Das ist eine Template Node - die Du zwischen einen HTTP-IN und HTTP-Out Node klemmen kannst.

                                Das bekommst auch so hin, indem Du in die payload einfach ein JS Objekt packst und zwischen ein HTTP-In und Out Node packst:

                                bd3b2ebe-135d-4780-9e83-febd369ffdb7-image.png

                                4bccf1cf-7704-4e69-99a1-14cd3933e610-image.png

                                [
                                   {
                                       "id": "15c38fc6a4b43962",
                                       "type": "http in",
                                       "z": "c13d5a4f.b76118",
                                       "name": "",
                                       "url": "/leer",
                                       "method": "get",
                                       "upload": false,
                                       "swaggerDoc": "",
                                       "x": 1940,
                                       "y": 60,
                                       "wires": [
                                           [
                                               "967e274410ef8a66"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "8c859ee6446c9636",
                                       "type": "http response",
                                       "z": "c13d5a4f.b76118",
                                       "name": "",
                                       "statusCode": "",
                                       "headers": {},
                                       "x": 2470,
                                       "y": 60,
                                       "wires": []
                                   },
                                   {
                                       "id": "c34592399c62bc79",
                                       "type": "change",
                                       "z": "c13d5a4f.b76118",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "template",
                                               "pt": "msg",
                                               "to": "{\"type\":\"call\",\"param\":{\"key\":\"CO@shellytoogle\",\"method\":\"set\"}}",
                                               "tot": "json"
                                           },
                                           {
                                               "t": "move",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "template.param.value",
                                               "tot": "msg"
                                           },
                                           {
                                               "t": "move",
                                               "p": "template",
                                               "pt": "msg",
                                               "to": "payload",
                                               "tot": "msg"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 2270,
                                       "y": 60,
                                       "wires": [
                                           [
                                               "8c859ee6446c9636",
                                               "22c988eb3de6f79d"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "967e274410ef8a66",
                                       "type": "change",
                                       "z": "c13d5a4f.b76118",
                                       "name": "=1",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "1",
                                               "tot": "num"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 2100,
                                       "y": 60,
                                       "wires": [
                                           [
                                               "c34592399c62bc79"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "22c988eb3de6f79d",
                                       "type": "debug",
                                       "z": "c13d5a4f.b76118",
                                       "name": "",
                                       "active": true,
                                       "tosidebar": true,
                                       "console": false,
                                       "tostatus": false,
                                       "complete": "false",
                                       "statusVal": "",
                                       "statusType": "auto",
                                       "x": 2480,
                                       "y": 120,
                                       "wires": []
                                   }
                                ]
                                

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  SpeedyBlade @mickym last edited by

                                  @mickym
                                  hilft mir leider auch nicht weiter 😉

                                  lauschen.png

                                  selbst wenn ich direkt am WS Out v. HS einen msg.payload setze und über den HS den Befehl sende, kommt da nix an.

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

                                    @speedyblade Nochmal Du brauchst kein Websocket. Wenn Du über eine URL am HS absetzt nimm einfach eine normale HTTP In node - Wie unten mit dem /leer gezeigt.

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

                                      @mickym Wenn Du JSONs aus dem Homeserver verschicken willst dann nimmst besser die POST Methode.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        SpeedyBlade @mickym last edited by

                                        @mickym
                                        da blicke ich nun nimmer durch ☹

                                        hab mal die Beschreibung v. HS mit dran gehängt
                                        hs.png

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

                                          @speedyblade Das ist was ganz anderes. Das ist weder Websocket noch eine Kommunikation mit NodeRed direkt.

                                          Gib mal die URL im Browser ein, die Du an den Homeserver schickst.

                                          Also irgendwas wie http://<ip-Adresse HS>/endpoints/call?key= usw.

                                          dann sollte im Browser ein JSON Objekt vom HS angezeigt werden.

                                          Wenn das funktioniert - schmeißt Du Deine ganzen bisherigen Nodes weg und nimmst eine HTTP Request Node - und da kommt dann das JSON Objekt fix und fertig raus.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            SpeedyBlade @mickym last edited by

                                            @mickym

                                            vom NR zum HS funktioniert dies ja schon, da wird das JSON an den WS HS gesendet.

                                            Der umgekehrte Weg ist nicht greifbar für mich.

                                            Wenn ich den Befehl im Browser eingebe, wird die "Lampe" am HS auch geschalten.
                                            https://192.168.0.11/endpoints/call?key=CO@TEST_EIN_AUS&method=toggle&value=1&user=XXXXX&pw=XXXX

                                            Und das ist dann das Ergebnis des Befehls.
                                            {"request": {"method": "toggle", "key": "CO@TEST_EIN_AUS"}, "code": 0, "type": "call"}

                                            Nicht falsch verstehen, aber NR ist halt noch ziemlich Neuland für mich

                                            Was verlangt der http request am Eingang, damit der Befehlt auch raus geht?
                                            fehler.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            868
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            31
                                            1988
                                            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