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. ioBroker Allgemein
  4. Rest-API - Verständnisproblem

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    525

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

Rest-API - Verständnisproblem

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
29 Beiträge 4 Kommentatoren 2.2k Aufrufe 4 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.
  • CodierknechtC Codierknecht

    @oliverio sagte in Rest-API - Verständnisproblem:

    sieht zu ähnlich aus

    Darum komme ich da auch ständig durcheinander :grin:

    Rene55R Offline
    Rene55R Offline
    Rene55
    schrieb am zuletzt editiert von
    #16

    @codierknecht Jetzt muss ich nur noch schauen, wenn es für API einen Benutzer mit Password gibt. Im Simple-Api wurde es einfach hinten angehangen.

    Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
    ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
    Wetterstation: Froggit WH3000SE V1.6.6

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • Rene55R Rene55

      @codierknecht Jetzt muss ich nur noch schauen, wenn es für API einen Benutzer mit Password gibt. Im Simple-Api wurde es einfach hinten angehangen.

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #17

      @rene55 sagte in Rest-API - Verständnisproblem:

      wenn es für API einen Benutzer mit Password gibt

      Wer macht denn sowas? ;-)

      Basic-Authentication müsste wohl als zusätzlicher Header mitgegeben werden.

      85fb8a55-57af-403a-9410-c768dbdcd27f-grafik.png

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      Rene55R 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @codierknecht

        Dann sorry, sieht zu ähnlich aus
        Bei echtem Rest wäre aber so ein Befehl unnötig

        Aber ist halt alles philosophisch die Unterscheidung

        Rene55R Offline
        Rene55R Offline
        Rene55
        schrieb am zuletzt editiert von
        #18

        @oliverio Schön das der Issue #54 schon aus 2023 ist. Aber nach meinem Denken ist ja schon die http-Befehlszeile im Swagger nicht korrekt, da steht nichts von 'patch' drin.

        Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
        ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
        Wetterstation: Froggit WH3000SE V1.6.6

        1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @rene55 sagte in Rest-API - Verständnisproblem:

          wenn es für API einen Benutzer mit Password gibt

          Wer macht denn sowas? ;-)

          Basic-Authentication müsste wohl als zusätzlicher Header mitgegeben werden.

          85fb8a55-57af-403a-9410-c768dbdcd27f-grafik.png

          Rene55R Offline
          Rene55R Offline
          Rene55
          schrieb am zuletzt editiert von
          #19

          @codierknecht Ja, mit ein Grund, auf was 'modernes' umzusteigen! Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen - andere Baustelle (aber gehört ins Gesamtpaket).

          Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
          ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
          Wetterstation: Froggit WH3000SE V1.6.6

          OliverIOO BananaJoeB 2 Antworten Letzte Antwort
          0
          • Rene55R Rene55

            @codierknecht Ja, mit ein Grund, auf was 'modernes' umzusteigen! Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen - andere Baustelle (aber gehört ins Gesamtpaket).

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #20

            @rene55

            Nix curl
            Da verwendest du die http Bibliothek.
            Die kann das.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            Rene55R 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @rene55

              Nix curl
              Da verwendest du die http Bibliothek.
              Die kann das.

              Rene55R Offline
              Rene55R Offline
              Rene55
              schrieb am zuletzt editiert von
              #21

              @oliverio Wäre mir am liebsten. Nur das, was ich dafür brauche aus dem Swagger rauszukriegen übersteigt (aktuell) meinen Wissensstand.

              Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
              ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
              Wetterstation: Froggit WH3000SE V1.6.6

              OliverIOO 1 Antwort Letzte Antwort
              0
              • Rene55R Rene55

                @codierknecht Ja, mit ein Grund, auf was 'modernes' umzusteigen! Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen - andere Baustelle (aber gehört ins Gesamtpaket).

                BananaJoeB Offline
                BananaJoeB Offline
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von
                #22

                @rene55 sagte in Rest-API - Verständnisproblem:

                Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen

                Wie @OliverIO schreibt. einfach per http.

                Swagger nimmt curl weil man aus curl-Beispielen es eigentlich für jede Variante ableiten kann, z.B. PowerShell usw.
                Bei curl sind die einzelnen Option schön getrennt und klar ersichtlich, z.B. ob es POST oder GET ist, ob ein Header übergeben wird usw.

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                Rene55R 1 Antwort Letzte Antwort
                0
                • Rene55R Rene55

                  @oliverio Wäre mir am liebsten. Nur das, was ich dafür brauche aus dem Swagger rauszukriegen übersteigt (aktuell) meinen Wissensstand.

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #23

                  @rene55

                  Einfach ChatGPT befragen.
                  Gerade für Code, insbesondere wenn die lernbasis groß ist, gibt es schon die 90% Idee wie man zum Ziel kommt, auch wenn da manchmal Fehler enthalten sind.
                  Hier mal eine Abfrage von gerade eben

                  Auf einem ESP (z. B. ESP32 oder ESP8266) kannst du eine HTTP-PATCH-Anfrage mit der HTTPClient-Bibliothek in der Arduino-IDE ausführen. Hier ist ein Beispielcode, der zeigt, wie du eine PATCH-Anfrage mit JSON-Daten an einen Server sendest:

                  Beispielcode für ESP32/ESP8266:

                  #include <WiFi.h>        // Für ESP32 (nutze <ESP8266WiFi.h> für ESP8266)
                  #include <HTTPClient.h>
                  
                  const char* ssid = "Dein_WLAN_Name";
                  const char* password = "Dein_WLAN_Passwort";
                  const char* serverUrl = "http://example.com/api/resource";  // Ziel-URL für PATCH
                  
                  void setup() {
                      Serial.begin(115200);
                      WiFi.begin(ssid, password);
                  
                      // Warten, bis WiFi verbunden ist
                      while (WiFi.status() != WL_CONNECTED) {
                          delay(1000);
                          Serial.println("Verbinde mit WiFi...");
                      }
                      Serial.println("WiFi verbunden!");
                  
                      HTTPClient http;
                      http.begin(serverUrl);  // URL setzen
                      http.addHeader("Content-Type", "application/json");  // JSON-Header setzen
                  
                      // JSON-Daten für das Patch-Request
                      String jsonPayload = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
                  
                      int httpResponseCode = http.PATCH(jsonPayload);  // PATCH-Request senden
                  
                      if (httpResponseCode > 0) {
                          Serial.print("HTTP Response Code: ");
                          Serial.println(httpResponseCode);
                          String response = http.getString();
                          Serial.println("Antwort: " + response);
                      } else {
                          Serial.print("Fehler bei PATCH: ");
                          Serial.println(http.errorToString(httpResponseCode).c_str());
                      }
                  
                      http.end();  // Verbindung schließen
                  }
                  
                  void loop() {
                      // Kein Code hier nötig
                  }
                  

                  Erklärung:

                  • WiFi-Verbindung herstellen: Der ESP verbindet sich mit dem WLAN.
                  • HTTPClient verwenden: Mit http.begin(serverUrl) wird die Verbindung zum Server aufgebaut.
                  • Header setzen: http.addHeader("Content-Type", "application/json") teilt dem Server mit, dass JSON gesendet wird.
                  • PATCH-Request senden: http.PATCH(jsonPayload) sendet die JSON-Daten an den Server.
                  • Antwort auslesen: Der HTTP-Response-Code und die Server-Antwort werden über die serielle Konsole ausgegeben.

                  Falls dein Server HTTPS verwendet, solltest du stattdessen WiFiClientSecure und HTTPClient verwenden.

                  Falls du weitere Fragen hast oder es für dein Projekt anpassen möchtest, sag Bescheid!

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  1 Antwort Letzte Antwort
                  0
                  • BananaJoeB BananaJoe

                    @rene55 sagte in Rest-API - Verständnisproblem:

                    Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen

                    Wie @OliverIO schreibt. einfach per http.

                    Swagger nimmt curl weil man aus curl-Beispielen es eigentlich für jede Variante ableiten kann, z.B. PowerShell usw.
                    Bei curl sind die einzelnen Option schön getrennt und klar ersichtlich, z.B. ob es POST oder GET ist, ob ein Header übergeben wird usw.

                    Rene55R Offline
                    Rene55R Offline
                    Rene55
                    schrieb am zuletzt editiert von
                    #24

                    @bananajoe Ja soweit alles ok. Wie schon erwähnt, mit Simple-Api (und den ESPs) läuft das bei mir schon geraume Zeit - sowohl zum ESP als auch zurück. Das blöde ist gerade nur, dass ich nicht zu Hause bin und natürlich keinen ESP hier habe. Ich mache jetzt hier nur aus dem Browser heraus.

                    Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                    ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                    Wetterstation: Froggit WH3000SE V1.6.6

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • Rene55R Rene55

                      @bananajoe Ja soweit alles ok. Wie schon erwähnt, mit Simple-Api (und den ESPs) läuft das bei mir schon geraume Zeit - sowohl zum ESP als auch zurück. Das blöde ist gerade nur, dass ich nicht zu Hause bin und natürlich keinen ESP hier habe. Ich mache jetzt hier nur aus dem Browser heraus.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #25

                      @rene55

                      Wenn es läuft würde ich Nix ändern.
                      Da ist kein so großer unterschied solange dir der Funktionsumfang von simple api ausreicht und der Adapter noch gewartet wird.

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      Rene55R 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @rene55

                        Wenn es läuft würde ich Nix ändern.
                        Da ist kein so großer unterschied solange dir der Funktionsumfang von simple api ausreicht und der Adapter noch gewartet wird.

                        Rene55R Offline
                        Rene55R Offline
                        Rene55
                        schrieb am zuletzt editiert von
                        #26

                        @oliverio Auch das ist soweit richtig. Einzig wollte ich meinen Wissensstand erweitern, wobei ich ja gerade hier schon mehrfach eigenständig versucht habe und gescheitert bin.
                        Übrigens Danke für das umfangreiche Beispiel. Wo ich dann gleich nachfragen muss: Was muss denn genau bei 'serverUrl' rein? Nicht dass wir uns wieder im Kreis drehen.

                        Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                        ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                        Wetterstation: Froggit WH3000SE V1.6.6

                        1 Antwort Letzte Antwort
                        0
                        • Rene55R Rene55

                          @codierknecht Erster Erfolg: mit http://192.168.69.112:8093/v1/command/setState?id=0_userdata.0.Test.Werte.Value&state=41 funktioniert es.

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von OliverIO
                          #27

                          http://ipaddress:8093/v1/state/system.adapter.rest-api.0.memHeapTotal
                          das wäre eine Server url

                          les dir auch mal nur so als Basis wissen den wikipedia artikel zu REST durch
                          https://de.wikipedia.org/wiki/Representational_State_Transfer
                          ggfs auch mal wie das http protokoll funktioniert
                          https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol

                          rest sozusagen auf http darauf modelliert
                          REST folgt dem CRUD prinzip, also atomare atkionen, wie mit daten umgegangen werden kann crud steht für Create,Read,Update,Delete

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          Rene55R 1 Antwort Letzte Antwort
                          0
                          • OliverIOO OliverIO

                            http://ipaddress:8093/v1/state/system.adapter.rest-api.0.memHeapTotal
                            das wäre eine Server url

                            les dir auch mal nur so als Basis wissen den wikipedia artikel zu REST durch
                            https://de.wikipedia.org/wiki/Representational_State_Transfer
                            ggfs auch mal wie das http protokoll funktioniert
                            https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol

                            rest sozusagen auf http darauf modelliert
                            REST folgt dem CRUD prinzip, also atomare atkionen, wie mit daten umgegangen werden kann crud steht für Create,Read,Update,Delete

                            Rene55R Offline
                            Rene55R Offline
                            Rene55
                            schrieb am zuletzt editiert von
                            #28

                            @oliverio Ich werde mir auch diese Grundlagen mal reinziehen, damit meine Fragen etwas weniger kryptisch werden. Ich hatte eigentlich auf die URL für den 'patch' gehofft. Aber der ist ja seit 2023 etwas defekt.
                            Erstmal Danke für alle Hilfestellungen. Ich werde mir erstmal einen ESP besorgen und dann in "echt" mal in Ruhe testen. Und wenn es nicht geht, leg ich alles in die Tonne und mach mit Simple-API weiter. Bis es mich wieder überfällt! :flushed:

                            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                            Wetterstation: Froggit WH3000SE V1.6.6

                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • Rene55R Rene55

                              @oliverio Ich werde mir auch diese Grundlagen mal reinziehen, damit meine Fragen etwas weniger kryptisch werden. Ich hatte eigentlich auf die URL für den 'patch' gehofft. Aber der ist ja seit 2023 etwas defekt.
                              Erstmal Danke für alle Hilfestellungen. Ich werde mir erstmal einen ESP besorgen und dann in "echt" mal in Ruhe testen. Und wenn es nicht geht, leg ich alles in die Tonne und mach mit Simple-API weiter. Bis es mich wieder überfällt! :flushed:

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von OliverIO
                              #29

                              @rene55 sagte in Rest-API - Verständnisproblem:

                              URL für den 'patch' gehofft. Aber der ist ja seit 2023 etwas defekt

                              wenn du dir REST durchgelesen hast, wird dir klar, das die URL immer gleich ist.

                              URL steht ja für unified ressource locatior, also sowas um eine ressource (hier datenpunkt) eindeutig zu identifizieren. in der url
                              http://ipaddress:8093/v1/state/system.adapter.rest-api.0.memHeapTotal
                              steht ja drin, welches system = http://ipaddress:8093
                              welche API version = v1
                              welchen ressourcentyp = state, wahrscheinlich könnte da auch object stehen
                              welche ressourcenid = system.adapter.rest-api.0.memHeapTotal

                              je nach http methode
                              put = neuanlegen (create)
                              get = lesen (read)
                              patch = ändern (update)
                              delete = löschen (delete)

                              weiß das system was du da machen möchtest
                              bei webseiten kennt man meist nur die http methoden get und post

                              wenn werte notwendig sind, können die als sogenannte payload übergeben werden. das steht aber in der doku der http bibliothek dann auch drin. also immer zuerst die dokumentation genau lesen, nur die gilt.

                              aber das steht in den beiden artikeln auf einer basis, die anfänger nicht so ganz überfordern.
                              ansonsten empfehle ich nutze chatgpt (auch schon in der kostenlosenversion)
                              das kann dir das dann alles erklären und ggfs noch leichter aufbereiten.
                              ansonsten dann gerne auch hier im forum.

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              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
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              878

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              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