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. Error/Bug
  4. Nodered Problem mit Websocket

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Nodered Problem mit Websocket

Geplant Angeheftet Gesperrt Verschoben Error/Bug
31 Beiträge 3 Kommentatoren 2.7k Aufrufe 2 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.
  • mickymM mickym

    @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 Offline
    S Offline
    SpeedyBlade
    schrieb am zuletzt editiert von SpeedyBlade
    #15

    @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

    mickymM 1 Antwort Letzte Antwort
    0
    • S 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

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #16

      @speedyblade Na also :+1: :+1: :+1:

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      S 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @speedyblade Na also :+1: :+1: :+1:

        S Offline
        S Offline
        SpeedyBlade
        schrieb am zuletzt editiert von
        #17

        @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?

        mickymM 1 Antwort Letzte Antwort
        0
        • S SpeedyBlade

          @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?

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #18

          @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.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          S 1 Antwort Letzte Antwort
          0
          • mickymM 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 Offline
            S Offline
            SpeedyBlade
            schrieb am zuletzt editiert von
            #19

            @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"
            }
            
            mickymM 1 Antwort Letzte Antwort
            0
            • S SpeedyBlade

              @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"
              }
              
              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #20

              @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.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              S 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @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 Offline
                S Offline
                SpeedyBlade
                schrieb am zuletzt editiert von
                #21

                @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 ;)

                mickymM 1 Antwort Letzte Antwort
                0
                • S SpeedyBlade

                  @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 ;)

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #22

                  @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": []
                     }
                  ]
                  

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  S 1 Antwort Letzte Antwort
                  0
                  • mickymM 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 Offline
                    S Offline
                    SpeedyBlade
                    schrieb am zuletzt editiert von
                    #23

                    @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.

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • S SpeedyBlade

                      @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.

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #24

                      @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.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @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.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #25

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

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        S 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

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

                          S Offline
                          S Offline
                          SpeedyBlade
                          schrieb am zuletzt editiert von
                          #26

                          @mickym
                          da blicke ich nun nimmer durch :white_frowning_face:

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

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • S SpeedyBlade

                            @mickym
                            da blicke ich nun nimmer durch :white_frowning_face:

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

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #27

                            @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.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            S 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @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 Offline
                              S Offline
                              SpeedyBlade
                              schrieb am zuletzt editiert von
                              #28

                              @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

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • S SpeedyBlade

                                @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

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #29

                                @speedyblade sagte in Nodered Problem mit Websocket:

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

                                Gar nichts und ist auch ein GET und kein POST:

                                e9ed46ab-4626-41ef-b005-4eb5645ddbce-image.png

                                dc5c985a-6dc0-4369-ab64-bd1a665ec104-image.png

                                Einfach die URL wie im Browser eingeben, dann mit einer Inject Node triggern - egal was da drin steht und das Ergebnis kommt hinten raus.

                                Falls Du später die URL variabel gestalten willst - machst Du das indem Du eine msg.url die URL definierst in der HTTP Request Node die URL leer lässt.

                                ggf. kannst Du auch noch Basisauthentifizierung in der Node eingeben, dann brauchst Du das nicht mehr in der URL machen.
                                Im Grunde stellst Du nur eine Anfrage an Deinen HS und der antwortet Dir direkt mit einem JSON Objekt. Das hat nichts mit Websockets oder einem NodeRed Webserver zu tun, sondern ist eine stinknormale HTTP Anfrage.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                S 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @speedyblade sagte in Nodered Problem mit Websocket:

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

                                  Gar nichts und ist auch ein GET und kein POST:

                                  e9ed46ab-4626-41ef-b005-4eb5645ddbce-image.png

                                  dc5c985a-6dc0-4369-ab64-bd1a665ec104-image.png

                                  Einfach die URL wie im Browser eingeben, dann mit einer Inject Node triggern - egal was da drin steht und das Ergebnis kommt hinten raus.

                                  Falls Du später die URL variabel gestalten willst - machst Du das indem Du eine msg.url die URL definierst in der HTTP Request Node die URL leer lässt.

                                  ggf. kannst Du auch noch Basisauthentifizierung in der Node eingeben, dann brauchst Du das nicht mehr in der URL machen.
                                  Im Grunde stellst Du nur eine Anfrage an Deinen HS und der antwortet Dir direkt mit einem JSON Objekt. Das hat nichts mit Websockets oder einem NodeRed Webserver zu tun, sondern ist eine stinknormale HTTP Anfrage.

                                  S Offline
                                  S Offline
                                  SpeedyBlade
                                  schrieb am zuletzt editiert von
                                  #30

                                  @mickym
                                  fehler.png

                                  "Falls Du später die URL variabel gestalten willst - machst Du das indem Du eine msg.url die URL definierst in der HTTP Request Node die URL leer lässt." => nicht verstanden, wie du das meinst, bzw. das gehen soll

                                  "ggf. kannst Du auch noch Basisauthentifizierung in der Node eingeben, dann brauchst Du das nicht mehr in der URL machen." => ist umgesetzt, hat funktioniert

                                  was mir aber noch nicht aufgeht, wenn ich nun am HS auf den Button drücke, ändert der Status, jedoch bekomme ich beim http request GET bzw. an dem msg.payload keine Daten. Nur wenn ich auf den Taster in NR drücke, werden die Daten am PayLoad ausgegeben.

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • S SpeedyBlade

                                    @mickym
                                    fehler.png

                                    "Falls Du später die URL variabel gestalten willst - machst Du das indem Du eine msg.url die URL definierst in der HTTP Request Node die URL leer lässt." => nicht verstanden, wie du das meinst, bzw. das gehen soll

                                    "ggf. kannst Du auch noch Basisauthentifizierung in der Node eingeben, dann brauchst Du das nicht mehr in der URL machen." => ist umgesetzt, hat funktioniert

                                    was mir aber noch nicht aufgeht, wenn ich nun am HS auf den Button drücke, ändert der Status, jedoch bekomme ich beim http request GET bzw. an dem msg.payload keine Daten. Nur wenn ich auf den Taster in NR drücke, werden die Daten am PayLoad ausgegeben.

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #31

                                    @speedyblade Also die POST Methode kannst Du gleich wieder vergessen - davon stand ja nichts in der Beschreibung.

                                    Wenn Du unterschiedliche URLs benötigst um, was abzufragen, dann musst Du die URL als String vorher definieren, eben als msg.url und dafür die URL in der Request Node leer lassen:

                                    1. URL aus der Node löschen
                                      2687c5d8-a5f0-4fa0-a643-f21645d00e6a-image.png

                                    2. Als msg.url einspeisen - hier über die Inject Node - kann man dann natürlich auch über einen Flow über einen Change Node später machen:

                                    c981b7fb-fa89-4a21-8871-4423cb4920ae-image.png

                                    Diesen String - kannst Du dann halt später dynamisch zusammensetzen.

                                    was mir aber noch nicht aufgeht, wenn ich nun am HS auf den Button drücke, ändert der Status, jedoch bekomme ich beim http request GET bzw. an dem msg.payload keine Daten. Nur wenn ich auf den Taster in NR drücke, werden die Daten am PayLoad ausgegeben.

                                    Nochmal die Daten holst Du Dir immer ab. Entweder gibt es im HS noch einen anderen Mechanismus in dem Du auch eine URL eintragen kannst, wenn Du eine bestimmte Aktion am HS vornimmst. Ansonsten kannst Du nur über NR den Status abfragen, aber wirst nicht aktiv informiert. Das nennt man dann "Pollen" im Fachjargon. Also musst Du halt recherchieren, ob der HS von sich aus beim Tastendrücken Aktionen starten kann.

                                    Über NodeRed kannst Du über die Get Methode entweder was schalten oder einen Status abfragen. Wenn der HS aber von sich aus aktiv werden soll, dann musst Du das im HS konfigurieren, das kann NR nicht übernehmen,

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    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

                                    420

                                    Online

                                    32.5k

                                    Benutzer

                                    81.7k

                                    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