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. Tester
  4. Test Adapter rest-api

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    11
    1
    74

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

Test Adapter rest-api

Geplant Angeheftet Gesperrt Verschoben Tester
49 Beiträge 14 Kommentatoren 8.6k Aufrufe 15 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.
  • Rene55R Offline
    Rene55R Offline
    Rene55
    schrieb am zuletzt editiert von
    #29

    Ich kriegs einfach nicht hin. :anguished: Kann mir jemand ein Beispiel aufzeigen, in dem ich einen Datenpunkt bestätigt und mit User/Password mit Daten beschicken kann? Mit dem 'simple_api' hab ichs hinbekommen - mit der rest-api leider nicht.

    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

    haus-automatisierungH 1 Antwort Letzte Antwort
    0
    • Rene55R Rene55

      Ich kriegs einfach nicht hin. :anguished: Kann mir jemand ein Beispiel aufzeigen, in dem ich einen Datenpunkt bestätigt und mit User/Password mit Daten beschicken kann? Mit dem 'simple_api' hab ichs hinbekommen - mit der rest-api leider nicht.

      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #30

      @rene55 sagte in Test Adapter rest-api:

      Kann mir jemand ein Beispiel aufzeigen, in dem ich einen Datenpunkt bestätigt und mit User/Password mit Daten beschicken kann?

      So wie ich das sehe, kann man momentan nicht direkt "ack=true" mitgeben.

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      Rene55R 1 Antwort Letzte Antwort
      0
      • haus-automatisierungH haus-automatisierung

        @rene55 sagte in Test Adapter rest-api:

        Kann mir jemand ein Beispiel aufzeigen, in dem ich einen Datenpunkt bestätigt und mit User/Password mit Daten beschicken kann?

        So wie ich das sehe, kann man momentan nicht direkt "ack=true" mitgeben.

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

        @haus-automatisierung Danke für die Mühe, mir helfen zu wollen. Dann robb ich mich mal ohne ACK ran. Ich habs gerade nochmal auf 'ohne Alles' zurück gestellt. Heist keine Authentifizierung und kein https. Dann funktioniert 'http://192.168.68.170:8093/v1/command/setState?id=0_userdata.0.Sensor.Serialino.Sensor_7&state=17' zumindest. Nehme ich wieder die Authentifizierung hinzu, bekomme ich einen "permissionError". Rechte vom Datenpunkt entsprechend angepasst. Ich hoffe, ich bin hier auf dem richtigen Weg - oder?

        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

        SBorgS 1 Antwort Letzte Antwort
        0
        • Rene55R Rene55

          @haus-automatisierung Danke für die Mühe, mir helfen zu wollen. Dann robb ich mich mal ohne ACK ran. Ich habs gerade nochmal auf 'ohne Alles' zurück gestellt. Heist keine Authentifizierung und kein https. Dann funktioniert 'http://192.168.68.170:8093/v1/command/setState?id=0_userdata.0.Sensor.Serialino.Sensor_7&state=17' zumindest. Nehme ich wieder die Authentifizierung hinzu, bekomme ich einen "permissionError". Rechte vom Datenpunkt entsprechend angepasst. Ich hoffe, ich bin hier auf dem richtigen Weg - oder?

          SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #32

          @rene55 Du brauchst zuerst eine Authorization (deswegen Permission Error)

          echo -n username:passwort | base64
          

          Da kommt dann bspw. dabei raus dXNlcm5hbWU6cGFzc3dvcnQ=
          Die ist dann immer für die Kombination aus User+Passwort gültig.

          Dann nur noch

          curl -kX 'GET' 'https://192.168.68.170:8093/v1/command/setState?id=0_userdata.0.example_state&state=test' -H 'accept: application/json' -H 'authorization: Basic dXNlcm5hbWU6cGFzc3dvcnQ='
          

          LG SBorg ( SBorg auf GitHub)
          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

          Rene55R 1 Antwort Letzte Antwort
          0
          • SBorgS SBorg

            @rene55 Du brauchst zuerst eine Authorization (deswegen Permission Error)

            echo -n username:passwort | base64
            

            Da kommt dann bspw. dabei raus dXNlcm5hbWU6cGFzc3dvcnQ=
            Die ist dann immer für die Kombination aus User+Passwort gültig.

            Dann nur noch

            curl -kX 'GET' 'https://192.168.68.170:8093/v1/command/setState?id=0_userdata.0.example_state&state=test' -H 'accept: application/json' -H 'authorization: Basic dXNlcm5hbWU6cGFzc3dvcnQ='
            
            Rene55R Offline
            Rene55R Offline
            Rene55
            schrieb am zuletzt editiert von
            #33

            @sborg Vielen Dank für das Beispiel. Bei mir funktioniert das einfach nicht. Grundsätzlich bekomme ich den Datenpunkt beschrieben - solange kein Benutzer im Spiel ist. Das einfache Absetzen des Befehls in der Console (natürlich mit angepasstem Hash) bringt mir den Fehler:

            curl: (7) Failed to connect to 192.168.68.170 port 8093: No route to host. 
            

            Ich gebs auf. Evtl muss noch etwas Zeit ins Land gehen, bevor ich das ans Laufen kriege. Solange werde ich mit SimpleAPI weitermachen. Da kann ich die Anfrage direkt vom Browser aus testen, habe user/password und kann den Status bestätigen. Möglicherweise muss mich @Bluefox hier noch etwas unterstützen.

            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

            haus-automatisierungH 1 Antwort Letzte Antwort
            0
            • Rene55R Rene55

              @sborg Vielen Dank für das Beispiel. Bei mir funktioniert das einfach nicht. Grundsätzlich bekomme ich den Datenpunkt beschrieben - solange kein Benutzer im Spiel ist. Das einfache Absetzen des Befehls in der Console (natürlich mit angepasstem Hash) bringt mir den Fehler:

              curl: (7) Failed to connect to 192.168.68.170 port 8093: No route to host. 
              

              Ich gebs auf. Evtl muss noch etwas Zeit ins Land gehen, bevor ich das ans Laufen kriege. Solange werde ich mit SimpleAPI weitermachen. Da kann ich die Anfrage direkt vom Browser aus testen, habe user/password und kann den Status bestätigen. Möglicherweise muss mich @Bluefox hier noch etwas unterstützen.

              haus-automatisierungH Offline
              haus-automatisierungH Offline
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von haus-automatisierung
              #34

              @rene55 sagte in Test Adapter rest-api:

              Das einfache Absetzen des Befehls in der Console (natürlich mit angepasstem Hash) bringt mir den Fehler:

              Die IP-Adresse stimmt ganz sicher? Protokoll auch?

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              Rene55R 1 Antwort Letzte Antwort
              0
              • haus-automatisierungH haus-automatisierung

                @rene55 sagte in Test Adapter rest-api:

                Das einfache Absetzen des Befehls in der Console (natürlich mit angepasstem Hash) bringt mir den Fehler:

                Die IP-Adresse stimmt ganz sicher? Protokoll auch?

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

                @haus-automatisierung Ich habs mehrfach versucht. Die IP ist aus meinem Testsystem. Sobald ich den User für die api nehme (übrigens alles aus deinem Masterkurs) klappt es nicht mehr. Irgendwo hab ich da wohl ein Brett hängen.

                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

                MacrisuM 1 Antwort Letzte Antwort
                0
                • Rene55R Rene55

                  @haus-automatisierung Ich habs mehrfach versucht. Die IP ist aus meinem Testsystem. Sobald ich den User für die api nehme (übrigens alles aus deinem Masterkurs) klappt es nicht mehr. Irgendwo hab ich da wohl ein Brett hängen.

                  MacrisuM Offline
                  MacrisuM Offline
                  Macrisu
                  schrieb am zuletzt editiert von
                  #36

                  I've reinstalled my Docker using the lateste version of Iosub Docker image from https://hub.docker.com/r/iobroker/iobroker

                  All works, except the Rest-Api adapter.

                  This is the error log.
                  I've tried changing ports, but same result.

                  2024-05-22 08:26:54.002 - error: rest-api.0 (2520) Cannot create webserver: TypeError: Cannot read properties of undefined (reading 'createServerAsync')
                  2024-05-22 08:26:54.003 - warn: rest-api.0 (2520) Terminated (JS_CONTROLLER_STOPPED): Without reason
                  2024-05-22 08:26:54.510 - info: rest-api.0 (2520) terminating http server on port 8093
                  2024-05-22 08:26:54.528 - error: host.796b7a0bc948 instance system.adapter.rest-api.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                  2024-05-22 08:26:54.528 - info: host.796b7a0bc948 Restart adapter system.adapter.rest-api.0 because enabled
                  
                  
                  ? 1 Antwort Letzte Antwort
                  0
                  • MacrisuM Macrisu

                    I've reinstalled my Docker using the lateste version of Iosub Docker image from https://hub.docker.com/r/iobroker/iobroker

                    All works, except the Rest-Api adapter.

                    This is the error log.
                    I've tried changing ports, but same result.

                    2024-05-22 08:26:54.002 - error: rest-api.0 (2520) Cannot create webserver: TypeError: Cannot read properties of undefined (reading 'createServerAsync')
                    2024-05-22 08:26:54.003 - warn: rest-api.0 (2520) Terminated (JS_CONTROLLER_STOPPED): Without reason
                    2024-05-22 08:26:54.510 - info: rest-api.0 (2520) terminating http server on port 8093
                    2024-05-22 08:26:54.528 - error: host.796b7a0bc948 instance system.adapter.rest-api.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                    2024-05-22 08:26:54.528 - info: host.796b7a0bc948 Restart adapter system.adapter.rest-api.0 because enabled
                    
                    
                    ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von
                    #37

                    @macrisu

                    is the webserver installed ?

                    1 Antwort Letzte Antwort
                    0
                    • m1k3f15hM Offline
                      m1k3f15hM Offline
                      m1k3f15h
                      schrieb am zuletzt editiert von
                      #38

                      Hy Leute,

                      Unterstützt der Adapter auch eine Funktion analog zur "setValueFromBody" vom "ioBroker.simple-api"?
                      Ich würde gerne von meinem Unifi Cloud Key via Alarmmanager einen Post auf mein ioBroker-System machen.
                      Vom Alarmmanager sollten im Body einige Infos sein, welche ich gerne in einem Datenpunkt hätte...

                      Und da hier steht, dass dieser Adapter die simple-api ablösen soll, wärs cool, wenn ich gleich diesen verwenden könnte :)

                      mfg
                      Mike

                      ioBroker Multihostsystem in Docker-Container auf Raspi's mit Redis-Sentinel als States und Objects DB
                      Aktuell am Aufbau einer Lovelace Visu

                      Deye SUN-12K + 10 kWp Module + 2 x 10 kWh MeritSun PowerWall

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        lugge86
                        schrieb am zuletzt editiert von lugge86
                        #39

                        Ich versuche mich momentan am subscriben per rest-API.
                        Dafür habe ich in einem python-/flask-script einen endpoint "callback" angelegt. Dieser endpoint soll von iobroker aufgerufen werden sobald sich der abonnierte state ändert.

                        Subscriben geht angeblich per GET und per POST.

                        image.png
                        Ich würde GET vorziehen da, zumindest soweit man SwaggerUI trauen kann, bei GET ein Delta angeben kann und somit nicht jede kleine Änderung mitkriegt.

                        Mit POST klappt soweit alles, d.h. mein endpoint und mein Skript sind korrekt.
                        Per GET krieg ich das aber nicht hin. Sobald ich per SwaggerUI das subscriben via GET probiere schmiert der REST-adapter ab:

                        3ab4984f-5755-4ca0-8f13-cfd79b6ea35a-image.png

                        image.png

                        Den selben Fehler (Cannot read properties of undefined (reading 'url')..." bekomme ich auch bei diversen anderen API-calls. Scheinbar erwartet der Adapter hier eine URL.
                        Mir scheint die Doku bzw. SwaggerUI sind hier nicht vollständig. In Swagger gibt es z.B. keine Möglichkeit, eine URL zu hinterlegen.

                        Nutzt jemand erfolgreich diese API? Kennt jemand diesen Fehler?

                        haus-automatisierungH 1 Antwort Letzte Antwort
                        0
                        • L lugge86

                          Ich versuche mich momentan am subscriben per rest-API.
                          Dafür habe ich in einem python-/flask-script einen endpoint "callback" angelegt. Dieser endpoint soll von iobroker aufgerufen werden sobald sich der abonnierte state ändert.

                          Subscriben geht angeblich per GET und per POST.

                          image.png
                          Ich würde GET vorziehen da, zumindest soweit man SwaggerUI trauen kann, bei GET ein Delta angeben kann und somit nicht jede kleine Änderung mitkriegt.

                          Mit POST klappt soweit alles, d.h. mein endpoint und mein Skript sind korrekt.
                          Per GET krieg ich das aber nicht hin. Sobald ich per SwaggerUI das subscriben via GET probiere schmiert der REST-adapter ab:

                          3ab4984f-5755-4ca0-8f13-cfd79b6ea35a-image.png

                          image.png

                          Den selben Fehler (Cannot read properties of undefined (reading 'url')..." bekomme ich auch bei diversen anderen API-calls. Scheinbar erwartet der Adapter hier eine URL.
                          Mir scheint die Doku bzw. SwaggerUI sind hier nicht vollständig. In Swagger gibt es z.B. keine Möglichkeit, eine URL zu hinterlegen.

                          Nutzt jemand erfolgreich diese API? Kennt jemand diesen Fehler?

                          haus-automatisierungH Offline
                          haus-automatisierungH Offline
                          haus-automatisierung
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #40

                          @lugge86 sagte in Test Adapter rest-api:

                          Scheinbar erwartet der Adapter hier eine URL.

                          Ja, Du musst dem Adapter ja mit dem Subscribe sagen, wohin die Änderungen des States publiziert werden sollen. Oder wie stellst Du Dir ein Subscribe vor?!

                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                          📚 Meine inoffizielle ioBroker Dokumentation

                          L 1 Antwort Letzte Antwort
                          0
                          • haus-automatisierungH haus-automatisierung

                            @lugge86 sagte in Test Adapter rest-api:

                            Scheinbar erwartet der Adapter hier eine URL.

                            Ja, Du musst dem Adapter ja mit dem Subscribe sagen, wohin die Änderungen des States publiziert werden sollen. Oder wie stellst Du Dir ein Subscribe vor?!

                            L Offline
                            L Offline
                            lugge86
                            schrieb am zuletzt editiert von lugge86
                            #41

                            @haus-automatisierung sagte in Test Adapter rest-api:

                            @lugge86 sagte in Test Adapter rest-api:

                            Scheinbar erwartet der Adapter hier eine URL.

                            Ja, Du musst dem Adapter ja mit dem Subscribe sagen, wohin die Änderungen des States publiziert werden sollen. Oder wie stellst Du Dir ein Subscribe vor?!

                            Klar, ist mir das klar. Habe ja auch extra einen entsprechenden Endpoint in meinem flask-script angelegt.

                            Und wenn ich den Subscribe per POST durchführe kann ich die URL dieses Endpoints dem iobroker auch im POST-body mitgeben. In Python sieht das dann z.B. so aus:
                            4d3c1b95-b1ed-43fa-8f7d-040558c741c8-image.png

                            Aber bei der GET-Variante gibt es, zumindest laut SwaggerUI, keine Möglichkeit eine URL mitzugeben. Das sieht in Swagger so aus:
                            4ee6de79-7bcb-4ceb-921a-f608c2b890f7-image.png
                            Ich kann zwar ein onchange und ein delta einstellen, aber keine URL hinterlegen.
                            Nun ist Swagger aber mehr oder weniger die einzige Doku die ich habe.
                            Die Frage lautet also: wie gebe ich die URL mit?

                            Hab mal zur Gaudi probiert einfach ein &url= im GET-Request anzuhängen, ohne Erfolg. Der Adapter schmiert ab weil die URL fehlt:

                            curl -X 'GET'   'http://192.168.0.252:8093/v1/state/0_userdata.0.test.test2/subscribe?method=GET&onchange=true&url="http://192.168.0.85:5800/callback"'   -H 'accept: application/json'
                            
                            haus-automatisierungH 1 Antwort Letzte Antwort
                            0
                            • L lugge86

                              @haus-automatisierung sagte in Test Adapter rest-api:

                              @lugge86 sagte in Test Adapter rest-api:

                              Scheinbar erwartet der Adapter hier eine URL.

                              Ja, Du musst dem Adapter ja mit dem Subscribe sagen, wohin die Änderungen des States publiziert werden sollen. Oder wie stellst Du Dir ein Subscribe vor?!

                              Klar, ist mir das klar. Habe ja auch extra einen entsprechenden Endpoint in meinem flask-script angelegt.

                              Und wenn ich den Subscribe per POST durchführe kann ich die URL dieses Endpoints dem iobroker auch im POST-body mitgeben. In Python sieht das dann z.B. so aus:
                              4d3c1b95-b1ed-43fa-8f7d-040558c741c8-image.png

                              Aber bei der GET-Variante gibt es, zumindest laut SwaggerUI, keine Möglichkeit eine URL mitzugeben. Das sieht in Swagger so aus:
                              4ee6de79-7bcb-4ceb-921a-f608c2b890f7-image.png
                              Ich kann zwar ein onchange und ein delta einstellen, aber keine URL hinterlegen.
                              Nun ist Swagger aber mehr oder weniger die einzige Doku die ich habe.
                              Die Frage lautet also: wie gebe ich die URL mit?

                              Hab mal zur Gaudi probiert einfach ein &url= im GET-Request anzuhängen, ohne Erfolg. Der Adapter schmiert ab weil die URL fehlt:

                              curl -X 'GET'   'http://192.168.0.252:8093/v1/state/0_userdata.0.test.test2/subscribe?method=GET&onchange=true&url="http://192.168.0.85:5800/callback"'   -H 'accept: application/json'
                              
                              haus-automatisierungH Offline
                              haus-automatisierungH Offline
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von haus-automatisierung
                              #42

                              @lugge86 sagte in Test Adapter rest-api:

                              Hab mal zur Gaudi probiert einfach ein &url= im GET-Request anzuhängen, ohne Erfolg.

                              Eventuell ist das auch ein Fehler im Adapter. Aber wie Du die URL übergibst ist in jedem Fall falsch. Da gehören keine Anführungszeichen drumherum und Du solltest URL Encoding verwenden. Also

                              &url=http%3A%2F%2F192.168.0.85%3A5800%2Fcallback
                              

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              L 1 Antwort Letzte Antwort
                              0
                              • haus-automatisierungH Offline
                                haus-automatisierungH Offline
                                haus-automatisierung
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #43

                                Wie es aussieht, wird die URL immer nur aus dem Body geholt:

                                https://github.com/ioBroker/ioBroker.rest-api/blob/f3b56614b5961aef28731a31604f36a57ec7fc03/src/lib/api/controllers/state.ts#L90-L91

                                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                📚 Meine inoffizielle ioBroker Dokumentation

                                L 1 Antwort Letzte Antwort
                                0
                                • haus-automatisierungH haus-automatisierung

                                  @lugge86 sagte in Test Adapter rest-api:

                                  Hab mal zur Gaudi probiert einfach ein &url= im GET-Request anzuhängen, ohne Erfolg.

                                  Eventuell ist das auch ein Fehler im Adapter. Aber wie Du die URL übergibst ist in jedem Fall falsch. Da gehören keine Anführungszeichen drumherum und Du solltest URL Encoding verwenden. Also

                                  &url=http%3A%2F%2F192.168.0.85%3A5800%2Fcallback
                                  
                                  L Offline
                                  L Offline
                                  lugge86
                                  schrieb am zuletzt editiert von
                                  #44

                                  Danke nochmal für die Rückmeldung. Ja, so hab ichs auch schon mal probiert:

                                  curl -X 'GET'   'http://192.168.0.252:8093/v1/state/0_userdata.0.test.test2/subscribe?method=GET&onchange=true&url=http%3A%2F%2F192.168.0.85%3A5800%2Fcallback'   -H 'accept: application/json'
                                  curl: (52) Empty reply from server
                                  

                                  8265b1ee-55fe-4a98-ba12-37879c4502d6-image.png

                                  Um ehrlich zu sein, ich habe schon recht viel probiert- Aber ich kann halt nur raten, denn die Doku ist entweder falsch oder unvollständig.

                                  Mein Problem ist dass leider andere APIs auch davon betroffen sind. Die API zum Abfragen der bestehenden Subscriptions zeigt das selbe verhalten.
                                  (die hier:)ebe236af-2383-4152-89b2-d3da470bdcbb-image.png

                                  Mich würds aber wundern wenn bisher noch niemand diese APIs getestet hat. Hier scheint wohl nur der Entwickler weiterhelfen zu können...

                                  1 Antwort Letzte Antwort
                                  0
                                  • haus-automatisierungH haus-automatisierung

                                    Wie es aussieht, wird die URL immer nur aus dem Body geholt:

                                    https://github.com/ioBroker/ioBroker.rest-api/blob/f3b56614b5961aef28731a31604f36a57ec7fc03/src/lib/api/controllers/state.ts#L90-L91

                                    L Offline
                                    L Offline
                                    lugge86
                                    schrieb am zuletzt editiert von lugge86
                                    #45

                                    @haus-automatisierung sagte in Test Adapter rest-api:

                                    Wie es aussieht, wird die URL immer nur aus dem Body geholt:

                                    https://github.com/ioBroker/ioBroker.rest-api/blob/f3b56614b5961aef28731a31604f36a57ec7fc03/src/lib/api/controllers/state.ts#L90-L91

                                    Da scheint aber noch mehr nicht zu passen, denn eigentlich sollte im Falle einer fehlenden URL ein JSOn mit einer Fehlerbeschreibung zurückgegeben werden.
                                    ae6d660d-97c9-4990-bea8-a89de7ad1266-image.png

                                    Wie man auf meinen Screenshots sieht crasht aber bei mir der Adapter.

                                    Kannst du bei dir mal mittels curl schauen ob das Problem auch bei dir auftritt?

                                    Update: dein Tipp mit dem Body war gold wert.
                                    Folgender Aufruf klappt:

                                    curl -X 'GET' \
                                      'http://192.168.0.252:8093/v1/state/0_userdata.0.test.test2/subscribe?method=GET&onchange=true&delta=5' \
                                      -H 'accept: application/json' \
                                      -H 'Content-Type: application/json' \
                                      -d '{ "url": "http://192.168.0.85:5800/callback"}'
                                    

                                    Mal schaun ob das auch für die anderen APIs klappt.

                                    1 Antwort Letzte Antwort
                                    0
                                    • L Offline
                                      L Offline
                                      lugge86
                                      schrieb am zuletzt editiert von
                                      #46

                                      Nachtrag: ja, klappt auch mit anderen APIs.
                                      Solange die URL im Body kommt gibts keine Abstürze mehr.
                                      Bin nur etwas verwundert dass noch niemand scheinbar dieses Problem hatte...

                                      Hab jetzt noch weiter rumgespielt und herausgefunden dass, entgegen der "Doku", die onchange- und delta-Parameter auch bei POST funktionieren, und zwar bei Übergabe sowohl im Body als auch direkt im Request. Gemäß SwaggerUI dürfte keines von beiden funktionieren.
                                      Dann kann ichs auch direkt per POST und alles im Body machen, dann ists wenigstens einheitlich.

                                      Schade nur dass die "Doku" so massiv neben der Realität ist.

                                      mcm1957M haus-automatisierungH 2 Antworten Letzte Antwort
                                      0
                                      • L lugge86

                                        Nachtrag: ja, klappt auch mit anderen APIs.
                                        Solange die URL im Body kommt gibts keine Abstürze mehr.
                                        Bin nur etwas verwundert dass noch niemand scheinbar dieses Problem hatte...

                                        Hab jetzt noch weiter rumgespielt und herausgefunden dass, entgegen der "Doku", die onchange- und delta-Parameter auch bei POST funktionieren, und zwar bei Übergabe sowohl im Body als auch direkt im Request. Gemäß SwaggerUI dürfte keines von beiden funktionieren.
                                        Dann kann ichs auch direkt per POST und alles im Body machen, dann ists wenigstens einheitlich.

                                        Schade nur dass die "Doku" so massiv neben der Realität ist.

                                        mcm1957M Online
                                        mcm1957M Online
                                        mcm1957
                                        schrieb am zuletzt editiert von
                                        #47

                                        @lugge86

                                        Wär sinnvoll wenn du mindestens ein Issue dazu - optimaler Weise gleich einen PR mit der korrigierten Docu erstellen könntest wenn du schon rausgefunden hats was nicht passt.

                                        DANKE

                                        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                                        Support Repositoryverwaltung.

                                        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                                        LESEN - gute Forenbeitrage

                                        1 Antwort Letzte Antwort
                                        0
                                        • L lugge86

                                          Nachtrag: ja, klappt auch mit anderen APIs.
                                          Solange die URL im Body kommt gibts keine Abstürze mehr.
                                          Bin nur etwas verwundert dass noch niemand scheinbar dieses Problem hatte...

                                          Hab jetzt noch weiter rumgespielt und herausgefunden dass, entgegen der "Doku", die onchange- und delta-Parameter auch bei POST funktionieren, und zwar bei Übergabe sowohl im Body als auch direkt im Request. Gemäß SwaggerUI dürfte keines von beiden funktionieren.
                                          Dann kann ichs auch direkt per POST und alles im Body machen, dann ists wenigstens einheitlich.

                                          Schade nur dass die "Doku" so massiv neben der Realität ist.

                                          haus-automatisierungH Offline
                                          haus-automatisierungH Offline
                                          haus-automatisierung
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #48

                                          @lugge86 sagte in Test Adapter rest-api:

                                          Bin nur etwas verwundert dass noch niemand scheinbar dieses Problem hatte...

                                          Die meisten werden wahrscheinlich POST nutzen. Aber schön finde ich das auch nicht. Man nutzt ja meistens GET mit URL Parametern, weil man keine Möglichkeit hat einen Body zu übergeben. Sonst könnte man ja direkt POST nutzen...

                                          Sehe das also schon als Bug, wenn die Url nicht als GET-Parameter übergeben werden kann.

                                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                          📚 Meine inoffizielle ioBroker Dokumentation

                                          L 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          386

                                          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