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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    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

      [{"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
                              • greyhound
                                greyhound last edited by

                                hatte ich so gemacht, sah gut aus.

                                Kann ich im Code verifizieren, dass meine aktive Version die richtige ist?

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

                                  So, jetzt haben wirs … ich hab das nochmal komplett geändert nachdem ich das bisherige Konzept verstanden habe!

                                  Es ändert sich für Deine Funktion leicht der aufruf!!

                                  POST http://127.0.0.1:18183/setValueFromBody ... user=admin&...

                                  bzw im Normalfall kein Fragezeichen und keine Parameter.

                                  0.5.1 auf Github bitte testen!

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

                                    bin wieder zu Hause und habe die neue Version getestet.

                                    • setValueFromBody funktioniert bei mir
                                    callback-Post http://192.168.200.110:8087/setValueFromBody/javascript.0.Nuki.Devices.NukiSL1.NukiBridgeResponse
                                    Body: {\"nukiId\": 123456789, \"state\": 3, \"stateName\": \"unlocked\", \"batteryCritical\": false}
                                    
                                    • und set funktioniert auch
                                    GET http://192.168.200.110:8087/set/javascript.0.alarm.Devices.Cams.Cam1.alarm_ack?value=true
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      eXTreMe last edited by

                                      Würde das Thema hier gerne nochmal aufgreifen. Komme mit den ganzen Beiträgen in diesem Forentopic leider nicht weiter da ich oft nur "Bahnhof" verstehe.

                                      kann jemand Schritt für Schritt beschreiben wie ich den simple api Adapter mit Nuki genau nutze? Ich habe leider noch recht wenig Plan von APIs 😞

                                      Was muss ich alles Konfigurieren?

                                      Ich nehme an die Steuerung und Statusabfrage erfolgt ausschließlich per Script, oder? Wie hat das Script auszusehen?

                                      Objekte werden sicher nicht automatisch generiert, oder?

                                      Ein paar Kleine Hilfestellungen mit Beispielen würden mich sicher schon etwas weiterbringen.

                                      Danke für eure Hilfe!

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

                                        Dann solltest du bitte ein paar mehr Infos geben. Ich kann beispielsweise mit "mit Nuki" nichts anfangen …

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

                                          Moin eXTreMe,

                                          hast Du Dir die Doku zum Adapter (auf Github) mal durchgelesen?

                                          ==> https://github.com/ioBroker/ioBroker.simple-api

                                          Da ist sehr genau beschreiben, wie man über Webcommands (html) über den Adapter was alles machen kann:

                                          • Werte auslesen

                                          • Werte setzen (was auch eine Aktion auslösen kann, z.B. State auf true = Licht an)

                                          Aber mehr Randinformationen sind immer gut.

                                          Was genau hast Du vor?

                                          Was hast Du bisher, mit welchem Erfolg, schon probiert?

                                          Fehlermeldungen

                                          Usw.

                                          Gruß,

                                          Eric

                                          Von unterwegs getippert

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            eXTreMe last edited by

                                            Nuki ist ein Smart Lock, also ein fernsteuerbares Türschloss welches entweder direkt per bluetooth zwischen handy und schloss kommuniziert oder vom handy über internet an eine optional erhältliche bridge welche dann wiederum per bluetooth an das schloss funkt. hat man eine bridge so kann man auch im lokalen netz eine http api nutzen. https://nuki.io/de/

                                            ja ich habe mir die doku zum adapter mehrmals durchgelesen aber leider nicht verstanden.

                                            Also ich weiß über welche URL ich mir z.B. den Status des Türschlosses anzeigen lassen kann oder über welche URL ich das Schloss sperren oder öffnen kann. Das steht alles in der Nuki API gut erklärt: https://nuki.io/wp-content/uploads/2016 … I-v1.5.pdf

                                            Das habe ich über meinen Browser durch aufruf der URL mit den jeweiligen Parametern getestet und klappt auch.

                                            Was mir jedoch überhaupt nicht klar wird ist wie genau ich jetzt über iobroker das ganze einbinde um z.b. den status abzufragen, das schloss sperren oder öffnen zu lassen und die jewiligen antwortparameter die auf meine aktionen geantwortet werden in entsprechende datenpunkte in iobroker übernehme.

                                            wie genau hat das javascript auszusehen?

                                            kann mir das jemand an einem codebeispiel erklären?

                                            Vielen Dank!

                                            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

                                            861
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            41
                                            7933
                                            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