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. HTTP-request von Mobotix T25

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.1k

HTTP-request von Mobotix T25

Geplant Angeheftet Gesperrt Verschoben Node-Red
22 Beiträge 2 Kommentatoren 1.7k Aufrufe 1 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

    @ak68 Wo ist denn Deine HTTP-OUt Node hin? Du gibst ja nichts zurück, somit geht Dein Sender davon aus, dass die erste Nachricht nicht angekommen ist und stellt ggf. das Senden ein. Ausserdem würde ich halt anstelle mit function Nodes über eine Switch Node - richtig den Flow aufsplitten.

    Ich glaube nicht, dass NodeRed hier blockiert, sondern der Sender nicht mehr sendet, wenn kein ReturnCode kommt. Prüfen kannst Du es ja einfach, indem Du über den Browser an die URL etwas schickst. Wenn was in der Debug 438 ankommt, dann liegt es ja nicht am Empfänger.

    Im Übrigen finde ich Deinen Flow eh recht umständlich, da Du hinten ja die gleichen Filter hast, so dass ich erst vorne die verschiedenen Quellen unterscheiden würde.

    Die Antwortfunktion, wäre etwas wenn Dein Sender eine bestimmte Antwort ausser ReturnCode 200 erwartet. Aber wie gesagt, Deine HTTP-OUt sehe ich nicht mehr und die muss die Antwort zurückgeben.

    A Offline
    A Offline
    ak68
    schrieb am zuletzt editiert von
    #13

    @mickym

    Wie muss im HTTP-Out Node der Statuscode (= ReturnCode ?) gesetzt werden, mit den Voreinstellungen klappt es leider nicht !

    7f33bbc7-9be1-4ad6-8441-4fc7adb3824a-image.png

    ioBroker auf QNAP TVS-473
    Visu und Logiken mit node-red
    Anbindung an KNX per openKNX

    mickymM 1 Antwort Letzte Antwort
    0
    • A ak68

      @mickym

      Wie muss im HTTP-Out Node der Statuscode (= ReturnCode ?) gesetzt werden, mit den Voreinstellungen klappt es leider nicht !

      7f33bbc7-9be1-4ad6-8441-4fc7adb3824a-image.png

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #14

      @ak68 Doch Du musst die HTTP-Out aber direkt hinter die HTTP-In setzen.

      Die Respose Node gibt immer 200 zurück. Wenn ein anderer Code erwartet wird, dann musst Du den in dem statusCode mitgeben.

      fc87a479-f984-4a87-8ae3-111e93d86294-image.png

      2a4deda3-e9ab-43fd-b684-d7f9e3442fa8-image.png

      6aceaf07-2a01-4f22-abb1-5fb5960904b2-image.png

      Je nachdem was gesendet wurde, wird auch die vollständige Antwort im res (response Objekt) an den Sender zurückgeschickt.

      Also mach die ResponseNode in jedem Fall direkt hinter die http-IN Node und verfälsche den Request nicht.

      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.

      A 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @ak68 Doch Du musst die HTTP-Out aber direkt hinter die HTTP-In setzen.

        Die Respose Node gibt immer 200 zurück. Wenn ein anderer Code erwartet wird, dann musst Du den in dem statusCode mitgeben.

        fc87a479-f984-4a87-8ae3-111e93d86294-image.png

        2a4deda3-e9ab-43fd-b684-d7f9e3442fa8-image.png

        6aceaf07-2a01-4f22-abb1-5fb5960904b2-image.png

        Je nachdem was gesendet wurde, wird auch die vollständige Antwort im res (response Objekt) an den Sender zurückgeschickt.

        Also mach die ResponseNode in jedem Fall direkt hinter die http-IN Node und verfälsche den Request nicht.

        A Offline
        A Offline
        ak68
        schrieb am zuletzt editiert von
        #15

        @mickym

        super, funktioniert:

        d3bdfdb0-62e4-4ea9-a5cb-02c1f01cef1b-image.png

        ... so einfach wäre das gewesen :)

        ioBroker auf QNAP TVS-473
        Visu und Logiken mit node-red
        Anbindung an KNX per openKNX

        mickymM 1 Antwort Letzte Antwort
        0
        • A ak68

          @mickym

          super, funktioniert:

          d3bdfdb0-62e4-4ea9-a5cb-02c1f01cef1b-image.png

          ... so einfach wäre das gewesen :)

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

          @ak68 Du codierst auch wieder zu viel. Zeig mal was wirklich in der HTTP-IN node ankommt, ob das ein JSON ist?

          16a7e59c-abb2-49b3-8efa-38b7ad4edc28-image.png

          Das ist total unschön und auch wieder mit function Nodes codieren - ist nicht toll. Die Filter sind doch alle die gleichen.

          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.

          A mickymM 2 Antworten Letzte Antwort
          0
          • mickymM mickym

            @ak68 Du codierst auch wieder zu viel. Zeig mal was wirklich in der HTTP-IN node ankommt, ob das ein JSON ist?

            16a7e59c-abb2-49b3-8efa-38b7ad4edc28-image.png

            Das ist total unschön und auch wieder mit function Nodes codieren - ist nicht toll. Die Filter sind doch alle die gleichen.

            A Offline
            A Offline
            ak68
            schrieb am zuletzt editiert von
            #17

            @mickym

            Ja, es sind JSON-Objekte:

            7a816f04-99bc-4583-a9d5-d02bb176401a-image.png

            ioBroker auf QNAP TVS-473
            Visu und Logiken mit node-red
            Anbindung an KNX per openKNX

            1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @ak68 Du codierst auch wieder zu viel. Zeig mal was wirklich in der HTTP-IN node ankommt, ob das ein JSON ist?

              16a7e59c-abb2-49b3-8efa-38b7ad4edc28-image.png

              Das ist total unschön und auch wieder mit function Nodes codieren - ist nicht toll. Die Filter sind doch alle die gleichen.

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

              Wenn Dein Request zum Beispiel so aussieht:

              1d75c2b7-61ac-42cd-9138-44c5a03661fd-image.png
              Also bei dir:

              http://<DeineIP>:1880/mobotix?Praxis=On
              

              Dann bekommst Du bereits ein Objekt zurück:
              26c80978-de67-4be3-b90e-a19957e875bb-image.png

              Dann kann man als erstes das Objekt in eine skalare Nachricht zerlegen und den key in das topic schreiben: und dann kannst Du Deine payload Abprüfungen machen:

              dfdbc7b6-2c7f-4a76-aa83-21a5b8e3e6a4-image.png

              Du nimmst also eine Split Node und kopierst den Schlüssel da rein.

              8900e94a-9e53-4023-9d5d-47519b21e838-image.png

              Du bekommst dann eine skalare Nachricht mit dem topic woher oder wofür das Kommando ist.

              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

                Wenn Dein Request zum Beispiel so aussieht:

                1d75c2b7-61ac-42cd-9138-44c5a03661fd-image.png
                Also bei dir:

                http://<DeineIP>:1880/mobotix?Praxis=On
                

                Dann bekommst Du bereits ein Objekt zurück:
                26c80978-de67-4be3-b90e-a19957e875bb-image.png

                Dann kann man als erstes das Objekt in eine skalare Nachricht zerlegen und den key in das topic schreiben: und dann kannst Du Deine payload Abprüfungen machen:

                dfdbc7b6-2c7f-4a76-aa83-21a5b8e3e6a4-image.png

                Du nimmst also eine Split Node und kopierst den Schlüssel da rein.

                8900e94a-9e53-4023-9d5d-47519b21e838-image.png

                Du bekommst dann eine skalare Nachricht mit dem topic woher oder wofür das Kommando ist.

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #19

                @mickym Nun machst Du den Filter der payload nur einmal egal für welches topic er ist.

                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.

                A 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @mickym Nun machst Du den Filter der payload nur einmal egal für welches topic er ist.

                  A Offline
                  A Offline
                  ak68
                  schrieb am zuletzt editiert von
                  #20

                  @mickym DANKE :)

                  ioBroker auf QNAP TVS-473
                  Visu und Logiken mit node-red
                  Anbindung an KNX per openKNX

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • A ak68

                    @mickym DANKE :)

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #21

                    @ak68 War noch nicht fertig - zum Schluss prüfst dann nur noch das topic als Quelle ab:

                    d4b6fbdb-21f5-4439-8ec9-3277a272f805-image.png

                    594a3f5b-b27a-4bf6-b6d8-a42b809d9560-image.png

                    Da muss man nichts Programmieren - geschweige denn mit Javascript function Nodes nutzen!!! - Vermeide das so gut es geht, nur so wirst Du die Vorteile des grafischen Programmierens zu schätzen wissen!!

                    Hier mal der Flow zum Import:

                    [
                       {
                           "id": "1f1888c3e6587da8",
                           "type": "http response",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "statusCode": "",
                           "headers": {},
                           "x": 290,
                           "y": 6560,
                           "wires": []
                       },
                       {
                           "id": "b5a3bf31f304a2c6",
                           "type": "http in",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "url": "/mobotix",
                           "method": "get",
                           "upload": false,
                           "swaggerDoc": "",
                           "x": 110,
                           "y": 6560,
                           "wires": [
                               [
                                   "1f1888c3e6587da8",
                                   "96a8f338668a17cc",
                                   "b8ca3dc79ed7b5aa"
                               ]
                           ]
                       },
                       {
                           "id": "96a8f338668a17cc",
                           "type": "debug",
                           "z": "289f539dcc33814e",
                           "name": "JSON",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 310,
                           "y": 6480,
                           "wires": []
                       },
                       {
                           "id": "b8ca3dc79ed7b5aa",
                           "type": "split",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "splt": "\\n",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "topic",
                           "x": 290,
                           "y": 6620,
                           "wires": [
                               [
                                   "2dd2f27ca23a09ba",
                                   "400ff1a9fc71116d"
                               ]
                           ]
                       },
                       {
                           "id": "2dd2f27ca23a09ba",
                           "type": "debug",
                           "z": "289f539dcc33814e",
                           "name": "Kommando",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 430,
                           "y": 6720,
                           "wires": []
                       },
                       {
                           "id": "400ff1a9fc71116d",
                           "type": "switch",
                           "z": "289f539dcc33814e",
                           "name": "on/off",
                           "property": "payload",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "cont",
                                   "v": "On",
                                   "vt": "str"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 450,
                           "y": 6620,
                           "wires": [
                               [
                                   "1bf95d49381f2202"
                               ]
                           ]
                       },
                       {
                           "id": "1bf95d49381f2202",
                           "type": "change",
                           "z": "289f539dcc33814e",
                           "name": "on => 1",
                           "rules": [],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 600,
                           "y": 6620,
                           "wires": [
                               [
                                   "bbb69ba12e160990"
                               ]
                           ]
                       },
                       {
                           "id": "bbb69ba12e160990",
                           "type": "switch",
                           "z": "289f539dcc33814e",
                           "name": "Quelle",
                           "property": "topic",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "eq",
                                   "v": "Praxis",
                                   "vt": "str"
                               },
                               {
                                   "t": "eq",
                                   "v": "Privar",
                                   "vt": "str"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 2,
                           "x": 750,
                           "y": 6620,
                           "wires": [
                               [
                                   "3963aa4398c2f5b1"
                               ],
                               [
                                   "9d2b9bd63ed9d1be"
                               ]
                           ]
                       },
                       {
                           "id": "3963aa4398c2f5b1",
                           "type": "debug",
                           "z": "289f539dcc33814e",
                           "name": "Praxis",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 910,
                           "y": 6560,
                           "wires": []
                       },
                       {
                           "id": "9d2b9bd63ed9d1be",
                           "type": "debug",
                           "z": "289f539dcc33814e",
                           "name": "Privat",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 890,
                           "y": 6640,
                           "wires": []
                       }
                    ]
                    

                    Was Du in den Filtern machst, habe ich zwar nicht kapiert - aber das weißt Du ja besser.

                    Du musst also Deine Logik etwas umdrehen.

                    Über die payload verzweigst Du ERST auf verschiedene Kommandoarten zur Bearbeitung und zum Schluss teilst Du via topic auf das jeweilige Endgerät auf.

                    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.

                    A 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @ak68 War noch nicht fertig - zum Schluss prüfst dann nur noch das topic als Quelle ab:

                      d4b6fbdb-21f5-4439-8ec9-3277a272f805-image.png

                      594a3f5b-b27a-4bf6-b6d8-a42b809d9560-image.png

                      Da muss man nichts Programmieren - geschweige denn mit Javascript function Nodes nutzen!!! - Vermeide das so gut es geht, nur so wirst Du die Vorteile des grafischen Programmierens zu schätzen wissen!!

                      Hier mal der Flow zum Import:

                      [
                         {
                             "id": "1f1888c3e6587da8",
                             "type": "http response",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "statusCode": "",
                             "headers": {},
                             "x": 290,
                             "y": 6560,
                             "wires": []
                         },
                         {
                             "id": "b5a3bf31f304a2c6",
                             "type": "http in",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "url": "/mobotix",
                             "method": "get",
                             "upload": false,
                             "swaggerDoc": "",
                             "x": 110,
                             "y": 6560,
                             "wires": [
                                 [
                                     "1f1888c3e6587da8",
                                     "96a8f338668a17cc",
                                     "b8ca3dc79ed7b5aa"
                                 ]
                             ]
                         },
                         {
                             "id": "96a8f338668a17cc",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "JSON",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 310,
                             "y": 6480,
                             "wires": []
                         },
                         {
                             "id": "b8ca3dc79ed7b5aa",
                             "type": "split",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "splt": "\\n",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "topic",
                             "x": 290,
                             "y": 6620,
                             "wires": [
                                 [
                                     "2dd2f27ca23a09ba",
                                     "400ff1a9fc71116d"
                                 ]
                             ]
                         },
                         {
                             "id": "2dd2f27ca23a09ba",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Kommando",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 430,
                             "y": 6720,
                             "wires": []
                         },
                         {
                             "id": "400ff1a9fc71116d",
                             "type": "switch",
                             "z": "289f539dcc33814e",
                             "name": "on/off",
                             "property": "payload",
                             "propertyType": "msg",
                             "rules": [
                                 {
                                     "t": "cont",
                                     "v": "On",
                                     "vt": "str"
                                 }
                             ],
                             "checkall": "true",
                             "repair": false,
                             "outputs": 1,
                             "x": 450,
                             "y": 6620,
                             "wires": [
                                 [
                                     "1bf95d49381f2202"
                                 ]
                             ]
                         },
                         {
                             "id": "1bf95d49381f2202",
                             "type": "change",
                             "z": "289f539dcc33814e",
                             "name": "on => 1",
                             "rules": [],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 600,
                             "y": 6620,
                             "wires": [
                                 [
                                     "bbb69ba12e160990"
                                 ]
                             ]
                         },
                         {
                             "id": "bbb69ba12e160990",
                             "type": "switch",
                             "z": "289f539dcc33814e",
                             "name": "Quelle",
                             "property": "topic",
                             "propertyType": "msg",
                             "rules": [
                                 {
                                     "t": "eq",
                                     "v": "Praxis",
                                     "vt": "str"
                                 },
                                 {
                                     "t": "eq",
                                     "v": "Privar",
                                     "vt": "str"
                                 }
                             ],
                             "checkall": "true",
                             "repair": false,
                             "outputs": 2,
                             "x": 750,
                             "y": 6620,
                             "wires": [
                                 [
                                     "3963aa4398c2f5b1"
                                 ],
                                 [
                                     "9d2b9bd63ed9d1be"
                                 ]
                             ]
                         },
                         {
                             "id": "3963aa4398c2f5b1",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Praxis",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 910,
                             "y": 6560,
                             "wires": []
                         },
                         {
                             "id": "9d2b9bd63ed9d1be",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Privat",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 890,
                             "y": 6640,
                             "wires": []
                         }
                      ]
                      

                      Was Du in den Filtern machst, habe ich zwar nicht kapiert - aber das weißt Du ja besser.

                      Du musst also Deine Logik etwas umdrehen.

                      Über die payload verzweigst Du ERST auf verschiedene Kommandoarten zur Bearbeitung und zum Schluss teilst Du via topic auf das jeweilige Endgerät auf.

                      A Offline
                      A Offline
                      ak68
                      schrieb am zuletzt editiert von
                      #22

                      @mickym DANKE, hat geklappt, ist deutlich "schlanker"

                      ioBroker auf QNAP TVS-473
                      Visu und Logiken mit node-red
                      Anbindung an KNX per openKNX

                      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

                      402

                      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