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. Grundsatzfragen zu API

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    844

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Grundsatzfragen zu API

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 2 Kommentatoren 467 Aufrufe 3 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.
  • Roger SpoR Offline
    Roger SpoR Offline
    Roger Spo
    schrieb am zuletzt editiert von
    #1

    Hallo Zusammen

    ich habe zwei dingz Schalter (Multifunktionsschalter mit WLAN aus der Schweiz).
    Diese können mittels API angesteuert werden ( https://documenter.getpostman.com/view/11123877/TVKD1x7V#82665bf7-cb0d-48d0-a7f1-80887b5f559e )

    Nun möchte ich die LED via iobroker ansteuern (Alarmanlage ein = rot, aus = grün)
    Wie löse ich das nun mit iobroker? Muss dies via JavaScript gemacht werden?
    Mir ist nicht klar, wie ich die POST Befehle versenden kann...
    Ich weiß, das es einen Adapter für dingz gibt, leider unterstützt dieser aber die Ansteuerung der LED nicht.

    mickymM 1 Antwort Letzte Antwort
    0
    • Roger SpoR Roger Spo

      Hallo Zusammen

      ich habe zwei dingz Schalter (Multifunktionsschalter mit WLAN aus der Schweiz).
      Diese können mittels API angesteuert werden ( https://documenter.getpostman.com/view/11123877/TVKD1x7V#82665bf7-cb0d-48d0-a7f1-80887b5f559e )

      Nun möchte ich die LED via iobroker ansteuern (Alarmanlage ein = rot, aus = grün)
      Wie löse ich das nun mit iobroker? Muss dies via JavaScript gemacht werden?
      Mir ist nicht klar, wie ich die POST Befehle versenden kann...
      Ich weiß, das es einen Adapter für dingz gibt, leider unterstützt dieser aber die Ansteuerung der LED nicht.

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

      @roger-spo Im Prinzip, kannst Du es via JavaScript, Blockly oder NodeRed verschicken. Wie steht ja auf der Seite von der Seite die Du gespostet hast wunderbar drin. Sprich Du schickst die JSON Strings mit ggf. den entsprechenden Header mit der POST Methode hin. Da ich NodeRed benutze, bleibe ich Dir erst mal die Syntax schuldig, aber gibt sicher Leute, die das schon häufig gemacht haben.

      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.

      Roger SpoR 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @roger-spo Im Prinzip, kannst Du es via JavaScript, Blockly oder NodeRed verschicken. Wie steht ja auf der Seite von der Seite die Du gespostet hast wunderbar drin. Sprich Du schickst die JSON Strings mit ggf. den entsprechenden Header mit der POST Methode hin. Da ich NodeRed benutze, bleibe ich Dir erst mal die Syntax schuldig, aber gibt sicher Leute, die das schon häufig gemacht haben.

        Roger SpoR Offline
        Roger SpoR Offline
        Roger Spo
        schrieb am zuletzt editiert von
        #3

        @mickym Danke für deine schnelle Antwort! Somit könnte ich dies also auch via NodeRed machen? Stehe leider etwas auf dem Schlauch, da ich aus der KNX Welt komme. JSON und NodeRed sind für mich noch neu...

        mickymM 1 Antwort Letzte Antwort
        0
        • Roger SpoR Roger Spo

          @mickym Danke für deine schnelle Antwort! Somit könnte ich dies also auch via NodeRed machen? Stehe leider etwas auf dem Schlauch, da ich aus der KNX Welt komme. JSON und NodeRed sind für mich noch neu...

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

          @roger-spo
          Du kannst es auch mit CURL auf der Kommandozeile machen - auf der Seite hast Du ja auf der rechten Seite die Beispiele:

          42f6b064-d7b4-4526-893c-d1c0fedd30ff-image.png

          In Node Red bereitest Du alles mit einer Change Node vor - die URL kannst entweder in msg.url mitgeben oder in der HTTP-Request node.

          So müsste es eigentlich gehen:

          [
             {
                 "id": "164a1b6.37a52e5",
                 "type": "change",
                 "z": "6840bb80.a7bfb4",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "{\"on\":true,\"color\":\"50;100;100\",\"mode\":\"hsv\",\"ramp\":50}",
                         "tot": "json"
                     },
                     {
                         "t": "set",
                         "p": "headers",
                         "pt": "msg",
                         "to": "{\"Connection\":\"close\",\"Content-Type\":\"application/json\",\"Content-Length\":55,\"Access-Control-Allow-Origin\":\"*\"}",
                         "tot": "json"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 530,
                 "y": 160,
                 "wires": [
                     [
                         "1da73091.24e85f"
                     ]
                 ]
             },
             {
                 "id": "1da73091.24e85f",
                 "type": "http request",
                 "z": "6840bb80.a7bfb4",
                 "name": "",
                 "method": "POST",
                 "ret": "txt",
                 "paytoqs": "ignore",
                 "url": "",
                 "tls": "",
                 "persist": false,
                 "proxy": "",
                 "authType": "",
                 "x": 760,
                 "y": 160,
                 "wires": [
                     []
                 ]
             },
             {
                 "id": "e6acaea9.9f4ff",
                 "type": "inject",
                 "z": "6840bb80.a7bfb4",
                 "name": "",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "true",
                 "payloadType": "bool",
                 "x": 290,
                 "y": 160,
                 "wires": [
                     [
                         "164a1b6.37a52e5"
                     ]
                 ]
             }
          ]
          

          In NodeRED gibst Du den Body einfach in der msg.payload, die header als msg.headers ein und zwar beides als JSON!

          4280f690-02e1-4b73-b59e-9935e24ec387-image.png

          hier die payload

          388ad1b2-e693-4111-940f-49e17e00d448-image.png

          hier die headers

          6d61495e-d1e7-408f-85be-eea11b9a8e29-image.png

          In der request Nachricht dann mit Methode POST versenden und noch die URL eintragen.

          179aa0b2-a990-4835-9a3b-c1c3efc0766a-image.png

          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.

          Roger SpoR 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @roger-spo
            Du kannst es auch mit CURL auf der Kommandozeile machen - auf der Seite hast Du ja auf der rechten Seite die Beispiele:

            42f6b064-d7b4-4526-893c-d1c0fedd30ff-image.png

            In Node Red bereitest Du alles mit einer Change Node vor - die URL kannst entweder in msg.url mitgeben oder in der HTTP-Request node.

            So müsste es eigentlich gehen:

            [
               {
                   "id": "164a1b6.37a52e5",
                   "type": "change",
                   "z": "6840bb80.a7bfb4",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "{\"on\":true,\"color\":\"50;100;100\",\"mode\":\"hsv\",\"ramp\":50}",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "headers",
                           "pt": "msg",
                           "to": "{\"Connection\":\"close\",\"Content-Type\":\"application/json\",\"Content-Length\":55,\"Access-Control-Allow-Origin\":\"*\"}",
                           "tot": "json"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 530,
                   "y": 160,
                   "wires": [
                       [
                           "1da73091.24e85f"
                       ]
                   ]
               },
               {
                   "id": "1da73091.24e85f",
                   "type": "http request",
                   "z": "6840bb80.a7bfb4",
                   "name": "",
                   "method": "POST",
                   "ret": "txt",
                   "paytoqs": "ignore",
                   "url": "",
                   "tls": "",
                   "persist": false,
                   "proxy": "",
                   "authType": "",
                   "x": 760,
                   "y": 160,
                   "wires": [
                       []
                   ]
               },
               {
                   "id": "e6acaea9.9f4ff",
                   "type": "inject",
                   "z": "6840bb80.a7bfb4",
                   "name": "",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "true",
                   "payloadType": "bool",
                   "x": 290,
                   "y": 160,
                   "wires": [
                       [
                           "164a1b6.37a52e5"
                       ]
                   ]
               }
            ]
            

            In NodeRED gibst Du den Body einfach in der msg.payload, die header als msg.headers ein und zwar beides als JSON!

            4280f690-02e1-4b73-b59e-9935e24ec387-image.png

            hier die payload

            388ad1b2-e693-4111-940f-49e17e00d448-image.png

            hier die headers

            6d61495e-d1e7-408f-85be-eea11b9a8e29-image.png

            In der request Nachricht dann mit Methode POST versenden und noch die URL eintragen.

            179aa0b2-a990-4835-9a3b-c1c3efc0766a-image.png

            Roger SpoR Offline
            Roger SpoR Offline
            Roger Spo
            schrieb am zuletzt editiert von
            #5

            @mickym Vielen Dank für deine Bemühungen! Habe das ganze nun versucht zu integrieren, leider ohne Erfolg. Sollte nicht noch irgendwo dieses mit: {{ip}}/api/v1/led/set?
            habe es in der request so versucht: 192.168.10.128/api/v1/led/set aber auch so kein Erfolg...

            mickymM 2 Antworten Letzte Antwort
            0
            • Roger SpoR Roger Spo

              @mickym Vielen Dank für deine Bemühungen! Habe das ganze nun versucht zu integrieren, leider ohne Erfolg. Sollte nicht noch irgendwo dieses mit: {{ip}}/api/v1/led/set?
              habe es in der request so versucht: 192.168.10.128/api/v1/led/set aber auch so kein Erfolg...

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

              @roger-spo

              Hmm nein ich glaub ich hab unten in der Payload einen Fehler gemacht.

              Die URL ist meines Erachtens richtig - aber wir haben nicht die action sondern den response verschickt.

              Ich hab den Flow mal geändert und auch Deine IP in die URL mitaufgenommen:
              0ffa452c-1d04-4e33-815b-668cb1b205c8-image.png

              [
                 {
                     "id": "164a1b6.37a52e5",
                     "type": "change",
                     "z": "44bec35c.87766c",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{\"action\":\"on\",\"color\":\"50;100;100\",\"mode\":\"hsv\",\"ramp\":50}",
                             "tot": "json"
                         },
                         {
                             "t": "set",
                             "p": "headers",
                             "pt": "msg",
                             "to": "{\"Connection\":\"close\",\"Content-Type\":\"application/json\",\"Content-Length\":55,\"Access-Control-Allow-Origin\":\"*\"}",
                             "tot": "json"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 690,
                     "y": 300,
                     "wires": [
                         [
                             "1da73091.24e85f"
                         ]
                     ]
                 },
                 {
                     "id": "1da73091.24e85f",
                     "type": "http request",
                     "z": "44bec35c.87766c",
                     "name": "",
                     "method": "POST",
                     "ret": "txt",
                     "paytoqs": "ignore",
                     "url": "http://192.168.10.128/api/v1/led/set",
                     "tls": "",
                     "persist": false,
                     "proxy": "",
                     "authType": "",
                     "x": 920,
                     "y": 300,
                     "wires": [
                         [
                             "9f58a6d5.bcb148"
                         ]
                     ]
                 },
                 {
                     "id": "e6acaea9.9f4ff",
                     "type": "inject",
                     "z": "44bec35c.87766c",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "true",
                     "payloadType": "bool",
                     "x": 450,
                     "y": 300,
                     "wires": [
                         [
                             "164a1b6.37a52e5"
                         ]
                     ]
                 },
                 {
                     "id": "9f58a6d5.bcb148",
                     "type": "debug",
                     "z": "44bec35c.87766c",
                     "name": "",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "false",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1130,
                     "y": 300,
                     "wires": []
                 }
              ]
              

              Ich hatte vorher in der payload die Antwort des servers und nicht die Action

              989d3db8-1706-4357-8971-35586da7533b-image.png

              Ansonsten würde ich halt mal die curls auf der Kommandozeile ausprobieren, denn wenn die auch nicht funktionieren, dann hast Du ein anderes Problem.

              Also probiers mal auf der Kommandozeile mit:

              curl --location -g --request POST '192.168.10.128/api/v1/led/set' --data-raw 'action=on&color=50;100;100&mode=hsv&ramp=50'
              

              Du willst die LED ja schalten - insofern gibst DU bei action ein: on, off oder toggle

              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
              • Roger SpoR Roger Spo

                @mickym Vielen Dank für deine Bemühungen! Habe das ganze nun versucht zu integrieren, leider ohne Erfolg. Sollte nicht noch irgendwo dieses mit: {{ip}}/api/v1/led/set?
                habe es in der request so versucht: 192.168.10.128/api/v1/led/set aber auch so kein Erfolg...

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

                @roger-spo sagte in Grundsatzfragen zu API:

                @mickym Vielen Dank für deine Bemühungen! Habe das ganze nun versucht zu integrieren, leider ohne Erfolg. Sollte nicht noch irgendwo dieses mit: {{ip}}/api/v1/led/set?
                habe es in der request so versucht: 192.168.10.128/api/v1/led/set aber auch so kein Erfolg...

                Das mit dem set und dem ? verwendet man in der Regel eigentlich bei GET Request. Wo hast Du denn ein Beispiel auf der Webseite gefunden?

                Hier ein Video von Steve der macht POST Request
                https://www.youtube.com/watch?v=wW_UeqeszEs
                zu einem thingsboard.

                Bei dem CURL Kommando muss man ggf. doch das http mitgeben - da bin ich mir nicht sicher:

                curl --location -g --request POST 'http://192.168.10.128/api/v1/led/set' --data-raw 'action=on&color=50;100;100&mode=hsv&ramp=50'
                

                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
                -1
                • Roger SpoR Offline
                  Roger SpoR Offline
                  Roger Spo
                  schrieb am zuletzt editiert von
                  #8

                  @mickym Ich hab es nun hinbekommen. Mit dem exec Befehl einfach das CURL Kommando senden.

                  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

                  642

                  Online

                  32.6k

                  Benutzer

                  82.1k

                  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