Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst]Einbindung von Nuki Smarthome Schloss über simple.api

    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

    [Gelöst]Einbindung von Nuki Smarthome Schloss über simple.api

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

      Das Verfahren als solches funktioniert auf jeden Fall.

      Ich lasse mir so z.B. die Statusänderungen vom Doorbird in Datenpunkte schreiben und verarbeite die dann weiter.

      Gruß,

      Eric

      Von unterwegs getippert

      1 Reply Last reply Reply Quote 0
      • S
        Spider12785 last edited by

        also ich habe jetzt schon einiges versucht.

        Das problem ist das ich wenn ich in der nuki api den callback eintrage bekomme ich nicht die richtige formatierung.

        Die eingabe soll url encoded erfolgen und egal was ich eingebe ich bekomme immer ein / eingesetzt.

        vielleicht kann mir ja einer einen tipp geben wo ich den fehler beim encode mache:

        wenn ich

        http://192.168.178.41:8080/callback/add?url=192.168.178.111:8087/set?javascript.0.test&token=XXXXX

        eingebe bekomme ich unter callback/list folgendes ergebnis

        {"id":2,"url":"192.168.178.111:8087/set?javascript.0.test"}

        gebe ich

        http%3A%2F%2F192.168.178.41%3A8080%2Fcallback%2Fadd%3Furl%3D192.168.178.111%3A8087%2Fset%3Fjavascript.0.test%26token%3DXXXXXX

        ein bekomme ich token invalid.

        gebe ich

        http://192.168.178.41:8080/callback/add?url=192.168.178.111%3A8087%2Fset%3Fjavascript.0.test&token=XXXXXX

        ein bekomme ich folgendes ergebnis

        {"callbacks":[{"id":0,"url":"192.168.178.111:8087/set?javascript.0.test"}

        was mich stört ist egal welche formatierung ich wähle ich bekomme die / immer und bekomme sie nicht weg.

        ich hab dem support auch schon eine mail geschrieben aber vielleicht kennt sich ja jemand gut aus.

        mfg

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

          Ich bin mir nicht sicher ob ich dein problem richtig verstanden habe, ich poste dir aber mal meine 2 scripte (eins zum status auslesen und eins zum auf/zu machen der Tür) welche ich für mein nuki nutze, habe die mir auch nur aus dem internet zusammenkopiert da ich nur wenig ahnung von APIs habe

          vielleicht hilfts dir (oder jemand anderem) ja trotzdem in irgend einer Form weiter.

          Ich nutze aber die original nuki bridge und nicht wie du die "android bridge" (davon hab ich noch nie was gehört, daher kA ob mein Script bei dir funktioniert)

          Script 1: Status abfrage per API alle 5min und schreibt dementsprechend true/false in einen von mir erstellten Datenpunkt

          ! ````
          schedule("*/5 * * * *", function () { // Status auslesen alle 5min

          var url = "http://192.168.x.x:8080/lockstate?token=XXXXXX?nukiid=YYYYYY";
          var request = require("request");
          request(url, function (error, response, body) {
          var json = JSON.parse(body);
          

          ! setState("javascript.0.Nuki", json.state);
          log('Neuer Türstatus: ' + json.state);
          });
          });

          
          Script 2: Steuerung Tür auf/zu
          
          >! ````
          var tuer_status       = "javascript.0.Nuki";
          >! on({ id: tuer_status, val: 1 }, function() {
                  aufmachen();
              }
          );
          >! on({ id: tuer_status, val: 2 }, function() {
                  zumachen();
              }
          );
          >! function aufmachen()
          {
              var request = require("request");
              request("http://192.168.x.x:8080/lockaction?token=XXXXX?nukiid=YYYYY?action=1");
              log('Tür wird jetzt geöffnet');
          }
          >! function zumachen()
          {
              var request = require("request");
              request("http://192.168.x.x:8080/lockaction?token=XXXXX?nukiid=YYYYYY?action=2");
              log('Tür wird jetzt geschlossen');
          }
          
          1 Reply Last reply Reply Quote 0
          • S
            Spider12785 last edited by

            Hi. Danke für deine Antwort.

            Das mit den Scripten hatte ich mir auch schon einmal angeschaut. Das einzige was mich daran stört ist das er alle x Minuten aktiv den Status abfragt.

            Hast du schon etwas in Sachen Verkürzung der Batterie Laufzeit gemerkt? Im Prinzip ist es mir egal ob ich alle 5 statt 6 Monate die Batterien wechseln muss.

            Im Internet habe ich aber was von Laufzeiten <1 Monat gelesen deswegen wollte ich auf die api ausweichen.

            Sollte ich das nicht hin bekommen werde ich mir dankend deine Scripte klauen.

            Das ist wesentlich besser als gar nichts oder das tägliche ein probieren und verzweifeln was ich gerade am machen bin.

            Und der Unterschied zwischen unseren Bridges ist einfach nur das nuki für ein altes Android Handy eine App zur Verfügung stellt die nichts anderes macht als eine Bluetooth Verbindung zum nuki her zu stellen und den Status über das wlan weiter zu geben.

            Mfg

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

              habe mein nuki lock leider schon eine weile abmontiert, da ich den schlüssel an jemanden verliehen habe und keinen ersatzschlüssel habe, habe das script erst vor kurzem gebastelt und nur mit dem nuki lock auf dem schreibtisch liegend ausprobiert. deshalb kann ich zur batterielaufzeit nichts sagen.

              ich weiss auch nicht genau wie das mit den status abfragen abläuft, die API fragt ja die bridge nach dem status, aber ob die bride dann die statusanfrage weiter an das schloss leitet und sich einen frischen status holt welcher dann als antwort zurück kommt oder ob sie einen zwischengespeicherten wert von der letzten statusänderung zurückliefert. das lock muss ja eigentlich nicht dauerhaft mit der bridge kommunizieren sondern eigentlich nur beim öffnen/schließen. Da müsstest du mal bei den Nuki entwicklern nachfragen ob das dauerabfragen negative auswirkungen auf die batterielaufzeiten hat. Kann ich mir aber nicht vorstellen.

              ich habe das abfrageintervall des scripts einfach mal so auf 5min gestellt, nur damit ich irgendwelche werte vom lock im iobroker drin habe. da ich momentan aber keine aktionen mit dem lock status verbunden habe reicht das intervall von 5min auch dicke aus. wenn man eine zeitkritische aktion hat oder ein genaues log führen möchte dann sollte man das intervall ggf auf wenige sekunden runtersetzen, sonst bekommt man ja nicht mit ob die tür inzwischen mal offen war.

              1 Reply Last reply Reply Quote 0
              • S
                Schatn last edited by

                Hallo Spider!

                Habe das auch gerade mal ausprobiert. Deine URL müsste so aussehen:

                http://192.168.178.41:8080/callback/add … en=XXXXXXX

                So bekomme ich zumindest beim Callback/list die richtige Adresse zurück. Allerdings werden keine Werte in den Datenpunkt geschrieben.

                Aber vielleicht hilft dir das ja schon mal etwas weiter.

                1 Reply Last reply Reply Quote 0
                • S
                  Spider12785 last edited by

                  Hallo,

                  Danke für die Antwort.

                  Ich habe es auch mittlerweile hin bekommen und lasse über ein Script die Antwort in verschiedene datenpunkt schreiben, welche ich dann über vis auswerten kann.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Schatn last edited by

                    Ok, also machst du auch nur alle 5 Minuten eine Abfrage oder nutzt du die Callback Funtkion?

                    1 Reply Last reply Reply Quote 0
                    • S
                      Spider12785 last edited by

                      Ich nutze die Callback Funktion und lasse mir das in einen Datenpunkt schreiben. Und mit einem script das bei aktualisierung des datenpunktes getriggert wird schreibe ich mir dann die 3 Variablen aus der Callback in jeweils eigene Datenpunkte.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Schatn last edited by

                        Könntest du vielleicht mal deine Callback URL posten? Bei mir wird nichts in den Datenpunkt geschrieben, obwohl die Adresse eigentlich richtig sein müsste.

                        1 Reply Last reply Reply Quote 0
                        • S
                          Spider12785 last edited by

                          Hey,

                          Ich hab dich nicht vergessen.

                          Ich kann die Callback URL und das Script heute Abend gerne mal Posten.

                          Vorher komme ich leider nicht nach Hause.

                          1 Reply Last reply Reply Quote 0
                          • S
                            Schatn last edited by

                            Hallo,

                            danke, ist überhaupt kein Problem. Es eilt nicht, nur keinen Stress, komme selber auch erst frühestens morgen dazu um es zu testen 😄

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

                              Ich verstehe davon garnichts.

                              Könnte mir jemand per Team Viewer helfen beim einrichten?

                              1 Reply Last reply Reply Quote 0
                              • S
                                schumla last edited by

                                Hallo Spider12785,

                                würdest du mir bitte auch deine Callback URL posten? Bei mir wird nichts in den Datenpunkt geschrieben, obwohl die Adresse eigentlich richtig sein müsste.

                                Besten Dank und Gruß

                                1 Reply Last reply Reply Quote 0
                                • T
                                  Tefi last edited by

                                  Könnte ich die Callback Url bitte auch bekommen

                                  Besten Dank

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    warnerb72 last edited by

                                    Ich hätte gerne auch die Syntax.

                                    Gesendet von meinem COL-L29 mit Tapatalk

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Schatn last edited by

                                      Ich auch bitte, danke.

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Schatn last edited by

                                        Hallo!

                                        Mit "setValueFromBody" wird bei mir der Datenpunkt bei jeder Änderung geschrieben. Die Callback URL lautet:

                                        http://192.168.178.41:8080/callback/add?url=http%3A%2F%2F192.168.178.111%3A8080%2FsetValueFromBody%2Fjavascript.0.NukiStatus&token=XXXXXXX
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          warnerb72 last edited by

                                          @Schatn:

                                          Hallo!

                                          Mit "setValueFromBody" wird bei mir der Datenpunkt bei jeder Änderung geschrieben. Die Callback URL lautet:

                                          http://192.168.178.41:8080/callback/add?url=http%3A%2F%2F192.168.178.111%3A8080%2FsetValueFromBody%2Fjavascript.0.NukiStatus&token=XXXXXXX
                                          
                                          ```` `  Danke, probiere ich alsbald aus [emoji106]
                                          

                                          Gesendet von meinem COL-L29 mit Tapatalk

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          807
                                          Online

                                          31.7k
                                          Users

                                          79.9k
                                          Topics

                                          1.3m
                                          Posts

                                          8
                                          24
                                          3569
                                          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