Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker simple-api adapter, POST mit setbulk, Fehler oder kann nicht lesen

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IoBroker simple-api adapter, POST mit setbulk, Fehler oder kann nicht lesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • greyhound
      greyhound last edited by

      POST http://192.168.200.110:8087/setBulk?javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse=1.0&javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2=2.0
      

      Response: [{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse"},{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2"},{"id":"feiertage.0.next","val":null}]

      
      

      POST http://192.168.200.110:8087/setBulk/javascript.0.Nuki.Devices.NukiSL1?NukiBridgeResponse=1.1&NukiBridgeResponse2=2.1

      Response: [{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse","val":1.1},{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":2.1},{"id":"feiertage.0.next","val":null}]
      ````>> Erfolg
      
      ````
      POST http://192.168.200.110:8087/setBulk?NukiBridgeResponse=1.2&NukiBridgeResponse2=2.2
      

      Response: [{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse","val":1.2},{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":2.2},{"id":"feiertage.0.next","val":null}]

      
      Bei den POST-Beispielen ist Response == Body.
      
      ~~@apollon77:~~ 
      
      > Bei POST werden die Daten aus dem Body genommen und die URL ignoriert! Mischen geht kaputt `  
      Bist du dir da sicher? Was sind denn die Daten im Body?
       ![1591_post-sample.png](/assets/uploads/files/1591_post-sample.png) 
      
      ~~@apollon77:~~ 
      
      > Error500 bei GET kommt in dem Fall wohl weil die State-ID nicht gefunden wird - Es sei denn "NukiBridgeResponse" ist im entsprechenden Objekt als "Name" gesetzt. `  
       ![1591_nukibridgeresponse-name.png](/assets/uploads/files/1591_nukibridgeresponse-name.png) 
      
      Der Anbieter von Nuki hat gerade geschrieben, dass sie ihre Daten````
      {"nukiId": 91049449, "state": 3, "stateName": "unlocked", "batteryCritical": false}
      ````nicht so ohne weiters in der URL kodiert senden werden, da dies auf ihrer Seite doch einige Konfigurationsvarianten nach sich ziehen würde.
      
      Danke
      
      GH
      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Die Erfolge liegen daran das er an der Stelle den "Namen" nutzt und nicht die "state-id".

        Ich habe in der Version auf Github mal debug logging für setBulk eingebaut. Also bitte:

        • update vo github

        • instanz in debug mode schalten (Instanzen -> Expertenmodus)

        • instanz neu starten (sollte autmatisch mit debug aktivieren passieren)

        • mal ANfrage machen … dann logs raussuchen und mal schicken ... dann wissen wir vllt mehr.

        Da die Nutzung der direkten namen ja scheinbar geht wäre der Aufruf mit

        POST http://192.168.200.110:8087/setBulk?javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse={0123456xx}&javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2={123456xx}
        

        der interessante

        1 Reply Last reply Reply Quote 0
        • greyhound
          greyhound last edited by

          Habe das jetzt auf einem meiner Testinstallationen gemacht (W10), also andere IP

          POST http://192.168.200.210:8087/setBulk?javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse={0123456xx}&javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2={123456xx}
          
          Response: [{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse","val":"{0123456xx}"},{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":"{123456xx}"},{"id":"feiertage.0.next"}]
          ````>> Erfolg
          
          Das das Log nicht so lang ist, hänge ich es hier mit rein
          

          2017-03-07 16:20:30.384 - [34mdebug[39m: simple-api.0 objectDB connected
          2017-03-07 16:20:30.400 - [34mdebug[39m: simple-api.0 statesDB connected
          2017-03-07 16:20:30.415 - [32minfo[39m: simple-api.0 starting. Version 1.4.0 in C:/ioBroker/node_modules/iobroker.simple-api, node: v4.5.0
          2017-03-07 16:20:30.428 - [32minfo[39m: simple-api.0 simpleAPI server listening on port 8087
          2017-03-07 16:20:30.430 - [32minfo[39m: simple-api.0 http server listening on port 8087
          2017-03-07 16:24:39.407 - [34mdebug[39m: simple-api.0 POST-setBulk: values = {"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse":"{0123456xx}","javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2":"{123456xx}","user":"system.user.admin","":null}
          2017-03-07 16:24:39.407 - [34mdebug[39m: simple-api.0 "javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse"
          2017-03-07 16:24:39.408 - [34mdebug[39m: simple-api.0 "javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2"
          2017-03-07 16:24:39.408 - [34mdebug[39m: simple-api.0 ""
          2017-03-07 16:24:39.409 - [34mdebug[39m: simple-api.0 POST-setBulk for id=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse, oid=NukiBridgeResponseused=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse, value={0123456xx}
          2017-03-07 16:24:39.410 - [34mdebug[39m: simple-api.0 Add to Response: {"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse","val":"{0123456xx}"}
          2017-03-07 16:24:39.411 - [34mdebug[39m: simple-api.0 POST-setBulk for id=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, oid=NukiBridgeResponse2used=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, value={123456xx}
          2017-03-07 16:24:39.411 - [34mdebug[39m: simple-api.0 POST-setBulk for id=feiertage.0.next, oid=used=feiertage.0.next, value=undefined
          2017-03-07 16:24:39.413 - [34mdebug[39m: simple-api.0 Add to Response: {"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":"{123456xx}"}
          2017-03-07 16:24:39.414 - [34mdebug[39m: simple-api.0 Add to Response: {"id":"feiertage.0.next"}

          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            Und ein Update der Werte findet nicht statt? Mindestens kann man sehen wo das komische "feiertage.0" herkommt 🙂 Fixe ich

            1 Reply Last reply Reply Quote 0
            • greyhound
              greyhound last edited by

              doch, die Werte werden gesetzt~~@greyhound:~~

              Erfolg `

              1 Reply Last reply Reply Quote 0
              • greyhound
                greyhound last edited by

                noch eine Frage zur Konfiguration 1591_simpleapi-konfiguration.png
                Was bewirkt diese Einstellung?

                Kann ich das irgendwo nachlesen?

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  @greyhound:

                  doch, die Werte werden gesetzt~~@greyhound:~~

                  Erfolg

                  Ok, damit "solved", oder ?!

                  Bzw nur noch das komische "feiertage" Ding offen, korrekt?! Dann bitte nochmal vom github checken

                  Zu Der "Erweitere Web-Adapter"-Frage: Du kannst auch weg vom eigenen Server/Port hin zur Nutzung eines der existierenden Web-Adapter gehen. Wenn ich es richtig verstehe kannst Du einen Web-Adapter dort wählen. Dann müsste die "Port"-Abfrage und so verschwindet weil dann das vom gewählten Web-Adapter genommen wird. Dort ist es dann unter /simple-api/… erreichbar (also extra Pfadteil mit dem Adapternamen).

                  Ist aber theoretisch ... habs auch noch nicht versucht :-))

                  1 Reply Last reply Reply Quote 0
                  • greyhound
                    greyhound last edited by

                    [{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse","val":"{0123456xx}"},{"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":"{123456xx}"},{"id":"feiertage.0.next"}]
                    

                    Die Feiertage sind noch in der Antwort, habe ich den Adapter aktualisiert, habe dann den Adapter beendet, neu geladen und gestartet, selbes Ergebnis.

                    Im Log ist merkwürdigerweise das Update nicht zu sehen

                    2017-03-07 18:05:54.920  - [32minfo[39m: simple-api.0 starting. Version 1.4.0 in C:/ioBroker/node_modules/iobroker.simple-api, node: v4.5.0
                    2017-03-07 18:05:54.929  - [32minfo[39m: simple-api.0 simpleAPI server listening on port 8087
                    2017-03-07 18:05:54.931  - [32minfo[39m: simple-api.0 http server listening on port 8087
                    2017-03-07 18:06:38.962  - [34mdebug[39m: simple-api.0 POST-setBulk: values = {"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse":"{0123456xx}","javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2":"{123456xx}","user":"system.user.admin","":null}
                    2017-03-07 18:06:38.963  - [34mdebug[39m: simple-api.0 "javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse"
                    2017-03-07 18:06:38.964  - [34mdebug[39m: simple-api.0 "javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2"
                    2017-03-07 18:06:38.964  - [34mdebug[39m: simple-api.0 ""
                    2017-03-07 18:06:38.965  - [34mdebug[39m: simple-api.0 POST-setBulk for id=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse, oid=NukiBridgeResponseused=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse, value={0123456xx}
                    2017-03-07 18:06:38.966  - [34mdebug[39m: simple-api.0 POST-setBulk for id=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, oid=NukiBridgeResponse2used=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, value={123456xx}
                    2017-03-07 18:06:38.967  - [34mdebug[39m: simple-api.0 POST-setBulk for id=feiertage.0.next, oid=used=feiertage.0.next, value=undefined
                    2017-03-07 18:06:38.968  - [34mdebug[39m: simple-api.0 Add to Response: {"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse","val":"{0123456xx}"}
                    2017-03-07 18:06:38.969  - [34mdebug[39m: simple-api.0 Add to Response: {"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":"{123456xx}"}
                    2017-03-07 18:06:38.970  - [34mdebug[39m: simple-api.0 Add to Response: {"id":"feiertage.0.next"}
                    
                    

                    Wie stellte ich am einfachsten fest, ob ich die version installiert habe, die ich haben sollte?

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      ääähm räusper … hab vergessen zu committen ... kommt in 30 mins oder :-((

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        Jetzt :-))

                        1 Reply Last reply Reply Quote 0
                        • greyhound
                          greyhound last edited by

                          Moin, Moin,

                          habe mir zwischenzeitlich den Code angeschaut und die mir fehlende Methode "setValueFromBody" eingebaut.
                          1591_fiddler-composer.png Response

                          [
                            {
                              "id": "javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2",
                              "val": "{\"nukiId\": 91049449, \"state\": 3, \"stateName\": \"unlocked\", \"batteryCritical\": false}"
                            }
                          ]
                          ````Log
                          

                          2017-03-08 11:47:10.210 - [32minfo[39m: simple-api.0 starting. Version 1.4.0 in C:/ioBroker/node_modules/iobroker.simple-api, node: v4.5.0
                          2017-03-08 11:47:10.219 - [32minfo[39m: simple-api.0 simpleAPI server listening on port 8087
                          2017-03-08 11:47:10.222 - [32minfo[39m: simple-api.0 http server listening on port 8087
                          2017-03-08 11:47:18.064 - [34mdebug[39m: simple-api.0 POST-setBulk: body = ""
                          2017-03-08 11:47:18.064 - [34mdebug[39m: simple-api.0 POST-setBulk: values = {"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2":""{12345678}"","prettyPrint":true,"user":"system.user.admin"}
                          2017-03-08 11:47:18.064 - [34mdebug[39m: simple-api.0 "javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2"
                          2017-03-08 11:47:18.066 - [34mdebug[39m: simple-api.0 POST-setBulk for id=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, oid=NukiBridgeResponse2used=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, value="{12345678}"
                          2017-03-08 11:47:18.068 - [34mdebug[39m: simple-api.0 Add to Response: {"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":""{12345678}""}
                          2017-03-08 11:53:49.255 - [34mdebug[39m: simple-api.0 POST-setValueFromBody: values = {"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2":"{"nukiId": 91049449, "state": 3, "stateName": "unlocked", "batteryCritical": false}","prettyPrint":true,"user":"system.user.admin"}
                          2017-03-08 11:53:49.255 - [34mdebug[39m: simple-api.0 POST-setValueFromBody: _id2="javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2"
                          2017-03-08 11:53:49.256 - [34mdebug[39m: simple-api.0 POST-setValueFromBody for id=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, oid=NukiBridgeResponse2used=javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2, value={"nukiId": 91049449, "state": 3, "stateName": "unlocked", "batteryCritical": false}
                          2017-03-08 11:53:49.258 - [34mdebug[39m: simple-api.0 Add to Response: {"id":"javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse2","val":"{"nukiId": 91049449, "state": 3, "stateName": "unlocked", "batteryCritical": false}"}

                          Werde meine Erweiterung als Pull-request einreichen.
                          
                          Nochmal Danke für deine Hilfe und Geduld
                          
                          Gruß GH
                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            Super, reiche ein, ich checke und dann gehts fix 🙂

                            1 Reply Last reply Reply Quote 0
                            • greyhound
                              greyhound last edited by

                              ist drin

                              1 Reply Last reply Reply Quote 0
                              • apollon77
                                apollon77 last edited by

                                1.5.0 auf github … bitte testen

                                1 Reply Last reply Reply Quote 0
                                • greyhound
                                  greyhound last edited by

                                  Danke für die Übernahme.

                                  Ich bin gerade beim Testen mit node 6.9 / 6.10. Bekomme beim installieren diverser Adapter ecklige Warnings und Fehlermeldungen

                                  2017-03-10 16:36:45.823  - info: iobroker npm install iobroker.mqtt --production --prefix "/opt/iobroker" (System call)
                                  2017-03-10 16:37:16.892  - info: iobroker In file included from ../node_modules/nan/nan.h:82:0,                 from ../src/bufferutil.cc:16:
                                  ../node_modules/nan/nan_new.h: In function ‘v8::Local NanIntern::To(v8::Handle<v8::integer>) [with T = v8::Int32; v8::Handle <v8::integer>= v8::Local<v8::integer>]’:
                                  ../node_modules/nan/nan_new.h:34:64: warning: ‘v8::Local <v8::int32>v8::Value::ToInt32() const’ is deprecated (declared at /opt/iobroker/.node-gyp/6.9.5/include/node/v8.h:8202): Use maybe version [-Wdeprecated-declarations]
                                   To<v8::int32>(v8::Handle <v8::integer>i)   { return i->ToInt32(); }
                                                                                                  ^
                                  
                                  2017-03-10 16:37:16.895  - info: iobroker ../node_modules/nan/nan_new.h: In function ‘v8::Local NanIntern::To(v8::Handle<v8::integer>) [with T = v8::Uint32; v8::Handle <v8::integer>= v8::Local<v8::integer>]’:../node_modules/nan/nan_new.h:39:65: warning: ‘v8::Local <v8::uint32>v8::Value::ToUint32() const’ is deprecated (declared at /opt/iobroker/.node-gyp/6.9.5/include/node/v8.h:8196): Use maybe version [-Wdeprecated-declarations]
                                   To<v8::uint32>(v8::Handle <v8::integer>i)  { return i->ToUint32(); }
                                                                                                   ^
                                   . . .
                                   2017-03-10 16:37:16.931  - info: iobroker In file included from ../src/bufferutil.cc:16:0:../node_modules/nan/nan.h: At global scope:
                                  ../node_modules/nan/nan.h:261:25: error: redefinition of ‘template <class t="">v8::Local _NanEnsureLocal(v8::Local)’
                                   NAN_INLINE v8::Local _NanEnsureLocal(v8::Local val) {
                                                           ^
                                  ../node_modules/nan/nan.h:256:25: note: ‘template <class t="">v8::Local _NanEnsureLocal(v8::Handle)’ previously declared here
                                   NAN_INLINE v8::Local _NanEnsureLocal(v8::Handle val) {
                                                           ^
                                  ../node_modules/nan/nan.h: In function ‘bool NanIdleNotification(int)’:
                                  ../node_modules/nan/nan.h:289:71: warning: ‘bool v8::Isolate::IdleNotification(int)’ is deprecated (declared at /opt/iobroker/.node-gyp/6.9.5/include/node/v8.h:6113): use IdleNotificationDeadline() [-Wdeprecated-declarations]
                                       return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
                                                                                                         ^
                                   . . .</class></class></v8::integer></v8::uint32></v8::uint32></v8::integer></v8::integer></v8::integer></v8::integer></v8::int32></v8::int32></v8::integer></v8::integer></v8::integer> 
                                  

                                  Am Schluss werden die Adapter in der Regel auch installiert und sind als Instanz vorhanden. Habe bisher nicht getestet, ob die Adapter wirklich auch funktionieren.

                                  Weißt du, ob es an der node-Version liegt? Welche ist die letzte Version unter der alles laufen sollte?

                                  Danke und Gruß

                                  GH

                                  1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 last edited by

                                    Das liegt nur bedingt an node, sondern eher an den "c-binary-Teilen" die einige Libraries drin haben die der Adapter benutzt. Das sind compiler-Meldungen und viele davon Warnungen weil die Checks im Compiler recht strikt sind, aber dennoch nur warnen.

                                    Wenn es fehlschlagen würde würdest Du nen Fehler bekommen.

                                    In sofern: unschön, aber ignore. Wenn DU was dagegen tun willst dann verursachende Library raussuchen und dort ein Ticket aufmachen 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • greyhound
                                      greyhound last edited by

                                      bin wieder auf node 4.7 zurück, da sieht dass kompilieren besser aus.

                                      Und das mit dem callback von meiner Nuki-Bridge mit POST setValueFromBody hat auch funktioniert. - Danke

                                      Wie ich in meinem pull geschrieben habe, bin ich noch imer der Meinung das da etwas quer läuft bei der POST-Variante von setBulk. Entweder stimmt die Beschreibung nicht oder die Implementierung.

                                      Gruß

                                      GH

                                      1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 last edited by

                                        Ich musste nochmal was fixen … update auf github

                                        1 Reply Last reply Reply Quote 0
                                        • greyhound
                                          greyhound last edited by

                                          bei mir geht noch alles, die Version war aber auch 1.5.0 oder?

                                          Muss langsam Schluss machen, Frauchen wartet schon.

                                          Wochenende bin ich auch Unterwegs, wohl erst Montagabend wieder on.

                                          Gruß

                                          GH

                                          1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 last edited by

                                            Ja, Version bleibt bis zum Release auf 1.5.0

                                            Nach dem Update ggf manuell restarten

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            568
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            41
                                            7615
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo