Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Neuer Adapter] Nuki

    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.

    [Neuer Adapter] Nuki

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Crazy last edited by Jey Cee

      MOD Edit Jey Cee: Ab hier geht es um den Adapter von smaragdschlange. Crazy hat seinen Adapter nicht Veröffentlicht.

      Da dies mein erster Adapter wird würde ich hier neben Infos zur Entwicklung auch meine Fragen festhalten wollen.

      Über jeden Input bin ich dankbar.

      Meine ersten Gedanken zu dem Thema:

      Jede Nuki Bridge kann mit beliebig vielen Nuki Smartlocks verbunden sein.

      Spontan würde ich sagen eine Instanz = eine Bridge +beliebig viele Smartlocks als Devices. Macht das Sinn?

      Braucht ein Device zwingend Channels oder kann auch direkt States beinhalten?

      Um die States zwischen ioBroker und Nuki zu syncen würde ich zwar Methoden verwenden:

      1. Bridge Callback:

      Beim einrichten des Adapters einen Callback bei der Nuki Bridge hinzufügen. Die Bridge führt dann einen Http Request durch sobald sich etwas an einem Smartlock tut.

      2. Per List Command alle Infos zu gekoppelten Smartlocks auslesen

      Wie stelle ich am Besten Funktion zur Verfügung? Als Funktion sehe ich aktuell nur die "LockAction", also öffnen/schließen (inkl. Varianten) des Smartlocks.

      Einige Fragen werden sich wohl im Laufe des Programmierung von alleine ergeben. Ein paar "best practises" im Vorhinein sind aber bestimmt nicht verkehrt.

      Grüße

      Crazy

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

        @Crazy:

        Jede Nuki Bridge kann mit beliebig vielen Nuki Smartlocks verbunden sein.

        Spontan würde ich sagen eine Instanz = eine Bridge +beliebig viele Smartlocks als Devices. Macht das Sinn? `

        Spontan denke ich ja

        @Crazy:

        Braucht ein Device zwingend Channels oder kann auch direkt States beinhalten? `

        Geht alles auch ohne Channels und auch ohne Devices. nur wenn DU Funktionen wie "deleteChannel" oder so verwenden willst musst Du bestimmte Regeln einhalten.

        Bei Deinem Beispiel wäre es aber durchaus eine Idee im Adapternamespace einen key pro Nuki Smartlock als "Device" (alternativ als "Channel") als Typ anzulegen und darunter die States. für die Bridge könnte man auch ein Device bzw Channel anlegen.

        @Crazy:

        Um die States zwischen ioBroker und Nuki zu syncen würde ich zwar Methoden verwenden:

        1. Bridge Callback:

        Beim einrichten des Adapters einen Callback bei der Nuki Bridge hinzufügen. Die Bridge führt dann einen Http Request durch sobald sich etwas an einem Smartlock tut.

        2. Per List Command alle Infos zu gekoppelten Smartlocks auslesen `
        Macht sinn. bedeutet aber das Du ggf einen eigenen HTTP-Server auf eigenem Port auf machen musst (oder dich an eine web Instanz dran hänge müsstest)?! Geht natürlich.

        @Crazy:

        Wie stelle ich am Besten Funktion zur Verfügung? Als Funktion sehe ich aktuell nur die "LockAction", also öffnen/schließen (inkl. Varianten) des Smartlocks. `

        An Der Stelle für die einfache verwendung am besten states anlegen. ENtweder einen State der eine "Werteliste" kann wo man "0=öffnen, 1=schliessen" oder so machen kann. ist per Admin gut bedienbar, In Skripten muss man wissen was die Zahlen bedeuten.

        Daher vllt besser einzelne States vom typ "Button" zum "öffnen", "schliessen" und was auch immer noch geht. Auf diese States dann im Adaoter Subscriben und per "OnStateChanged" (Du kennst viewtopic.php?f=24&t=6383&e=1&view=unread#p65807 ?) reagieren und das Device rausfinden und dann Aktion auslösen. Wenn Du das letzte tust ist garantiert ein "status" State noch sinnvoll wo drin steht wie der aktuelle Status ist.

        Viel Spass und Erfolg!

        Wenn Du was auf GitHub hast sag Bescheid und ich schaue mal drüber.

        Ingo

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

          Ich denke Folgende Struktur solle gut passen:

          `nuki.0.bridge(channel)
          	nuki.0.bridge.addressOrWhatEver (state)
          nuki.0.lock0 or lock`
          
          <address> `(channel)
          	nuki.0.lock0.action (state)
          	nuki.0.lock0.connected (state)
          	nuki.0.lock0.batteryStatus (state)` 
          
          und bitte 1 = OPEN, 0 = closed
          
          [https://github.com/ioBroker/ioBroker/bl … E_ROLES.md](https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md)
          
          Und ja. Am besten ganz unabhängig von WEB Instanz zu sein und eigenen HTTP Server anschmeißen (port über 1000 bitte).
          
          Es geht sehr einfach. 
          
          Mit der Möglichkeit den Port vom Anwender definierbar zu machen. (Wenn z.b. 2 bridges zuhause sind)</address>
          
          
          1 Reply Last reply Reply Quote 0
          • D
            D-H-H last edited by

            Hi,

            Ich werfe hiermit meinen Hut in den Ring zu unterstützen 🙂

            Habe ebenfalls Nuki im Einsatz und kann gern testen oder gemeinsam über Problemlösungen nachdenken!

            Ein Adapter wäre toll.

            Gibt es schon einen neuen Stand?

            1 Reply Last reply Reply Quote 0
            • C
              Crazy last edited by

              Hi,

              ich habe mit dem Adapter angefangen komme aber leider frühstens am Wochenende wieder dazu daran zu arbeiten.

              Grüße

              Crazy

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

                Gibts schon was auf Github? 🙂

                Bzw sag mal deinen GitHub Namen, Dann assigne ich Deinen User im Adapter-Requests-Issue

                1 Reply Last reply Reply Quote 0
                • K
                  kk79 last edited by

                  Hi,

                  einen Adapter programmieren würde ich selbst nicht hinbekommen,

                  aber vielleicht helfen ja meine Infos:

                  Habe auf der Nuki-Bridge folgenden Callback programmiert:
                  > {"callbacks": [{"id": 1, "url": "[http://iobroker:8082/setValueFromBody/javascript.0.nuki](http://iobroker:8082/setValueFromBody/javascript.0.nuki)"}]}

                  Dieser übergibt der HTTP-Post den Status des Schlosses an die Variable javascript.0.nuki (habe ich vorher händig als String im iobroker angelegt)

                  Voraussetzung dafür ist, dass der simple-Web-Adapter aktiviert ist.

                  Im iobroker habe ich dann ein Skript erstellt, welches den String nimmt, und den Status in die Variable javascript.0.nukistatus schreibt (als Zahl)

                  Damit kann ich das Schloss noch nicht steuern, ich habe allerdings den Status fest im iobroker drin (was mit persönlich erstmal ausreicht)

                  ` > on({id: 'javascript.0.nuki', change: "ne"}, function (obj) {

                  var state = getState("javascript.0.nuki").val

                  var zustand = state.slice(31,32)

                  // console.log("Schlosszustand:" + zustand)

                  if (zustand==3) {console.log('Nebentür ist offen'); setState("javascript.0.nukistatus",false);}

                  if (zustand==1) {console.log('Nebentür ist zu'); setState("javascript.0.nukistatus",true);}

                  }); `

                  1 Reply Last reply Reply Quote 0
                  • R
                    ramses last edited by

                    hmmm Crazy scheint seeeehr lange Wochenenden zu haben.

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

                      Hi,

                      den Adapter kann man ja mittlerweile installieren, aber bei mir macht er nichts und konfigurieren kann ich da auch nichts. Habe mir daher ein kleines Javascript geschrieben, das mit die Werte von Nuki ausliest, und mittels http-Request kann man das Nuki ja auch problem über ein Blockly steuern.

                      Legt euch einfach ein neues Javascript an, importiert das Script, tragt eure IP:Port der Bridge ein, den ID und das Token, und schon habt ihr im IOBroker die Werte von Nuki.

                      // Nuki Lockstate script by BerndHassenzahl@gmail.com
                      // 
                      // erstmal alle Variablen definieren
                      var request = require('request');
                      
                      // hier braucht Ihr die IP eurer Bridge, die nukiID und das Token, ihr findet beides nur in der App, unter Verwaltung/Bridge..Hab mir n Wolf gesucht..( Developer auf ON! )
                      var url = 'http://IPEurerBridge:8080/lockState?&nukiId=xxxxxxxx&token=yyyyyyy';
                      var state;
                      var stateName;
                      var battery;
                      var success;
                      var idstate = 'Nuki.lockstate.state';
                      var idstateName = 'Nuki.lockstate.stateName';
                      var idbattery = 'Nuki.lockstate.batteryCritical';
                      var idsuccess = 'Nuki.lockstate.success';
                      
                      // die objekte in IOBroker anlegen, zu finden unter javascript.0.Nuki.lockstate
                      createState('Nuki.lockstate.state', {
                          name: 'state',
                          });    
                      createState('Nuki.lockstate.stateName', {
                          name: 'stateName',
                          });    
                      createState('Nuki.lockstate.batteryCritical', {
                       name: 'batteryCritical',
                          });    
                      createState('Nuki.lockstate.success', {
                          name: 'success',
                          });
                      
                      // jetzt die Funktion zum auslesen der json
                      function lockstate() { 
                      request(url, function ( err, state, body){
                          if (err) {
                              log("Fehler aufgetreten: " + err);
                          } else {
                          var obj = JSON.parse(body);
                      // zuordnen der Variablen
                          state = obj.state;
                          stateName = obj.stateName;
                          battery = obj.batteryCritical;
                          success = obj.success;
                      // Setzen der Werte in die Objekte
                          setState(idstate, state);
                          setState(idstateName, stateName);
                          setState(idbattery, battery);
                          setState(idsuccess, success);
                          } 
                      });
                      }
                      // und das machen wir jede Minute... 
                      schedule('*/1 * * * *', lockstate);
                      
                      

                      Das Script läuft bei mir jetzt seit 2 Monaten, das Nuki kann ich somit per Button, NFC, und natürlich per Alexa steuern.

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

                        Hi,

                        ich versuche mich auch seit einiger Zeit an der Erstellung eines Nuki-Adapters (https://github.com/smaragdschlange/ioBroker.nuki). Da es mein erster Adapter ist, ich mit JavaScript bisher noch nichts gemacht hab, und ich immer mal nur so für ein bis zwei Stunden in der Woche Zeit finde, geht es auch bei mir seeehr langsam vorwärts.

                        Ich stocke gerade bei der Einrichtung eines HTTP-Servers, wie Bluefox angeregt hatte. Ich denke, der Adapter könnte damit einen ersten nutzbaren Stand erhalten. Ich hab versucht, aus der simpleapi.js des Simple-API-Adapters schlau zu werden, bin aber etwas verloren.

                        Kann mich jemand hier vielleicht auf die richtigen/notwendigen Code-Schnippsel stoßen?

                        Danke im Voraus und Grüße,

                        Sven

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

                          Ich habe es jetzt per Javascript und Nuki Adapter eingefügt.

                          Bei Objekten bekomme ich auch angezeigt im welchen status Nuki ist.

                          Ich möchte über VIS erst einmal den status sehen geöffnet oder geschlossen.

                          Habe jetzt einiges versucht aber irgendwie klappt es nicht.

                          Hat jemand einen Tipp?
                          4720_nuki1.jpg
                          4720_nuki2.jpg

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

                            Hallo thexbrain,

                            mein Adapter (https://github.com/smaragdschlange/ioBroker.nuki) ist zwar immer noch in Entwicklung, funktioniert bei mir aber schon sehr gut. Ich habe damit über ioBroker eine Verbindung zu meinem Fingerabdruck-Scanner hergestellt und öffne/schließe meine Haustür damit. Der Callback funktioniert nun auch einwandfrei, sodass immer der aktuelle Status angezeigt wird, selbst, wenn die Tür manuell geöffnet wird. In vis hab ich ihn noch nicht ausprobiert, aber die Objekte dürften sich dort jetzt abbilden lassen, da ich nun kompatible Statuseigenschaften nutze.

                            Ich hoffe, dass Du und vielleicht auch andere den Adapter nützlich finden, und würde mich sehr über Testergebnisse und Verbesserungsvorschläge freuen. Allein findet man ja doch meistens nicht jeden Bug…

                            Gruß,

                            Sven

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User last edited by

                              Nuki hab ich heute bestellt und sobald es angekommen ist installiere ich deinen Adapter. Ich hab mir auch das https://nuki.io/de/shop/nuki-keypad/ bestellt. Ich mach Meldung sobald ich Fragen habe.

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

                                Hi,

                                ich hab ein Nuki seit März im Einsatz, und mit Svens Adapter funktioniert es super zuverlässig!

                                Habe mir ein NFC - NodeMCU Modul gemacht:

                                ( genauer, PN532, per I2C an WemosD1Mini, Software ESPEASY R1.48, sendet per MQTT an iobroker, Gehäuse dafür selbst gedruckt und der Wemos ist in der neben der Tür vorhandenen Stromverteilung verschwunden, nur das Gehäuse mit dem PN532 hab ich unten drunter geklebt, so fällt es nicht so auf, ist aber gut zugänglich)

                                Damit steuere ich vom iobroker aus dann das Nuki ( am Anfang per http-request, jetzt über den Adapter). Die NFC-Token gibts günstig aus China als Chipkarte oder Schlüsselanhänger.

                                Was noch ansteht, ist das in VIS einzubinden, habs zur Zeit nur im Habpanel.

                                1 Reply Last reply Reply Quote 0
                                • K
                                  kk79 last edited by

                                  Hi,

                                  hab mittlerweile auch den Adapter von smaragdschlange installiert (inkl. Callback), funktioniert einwandfrei, vielen Dank.

                                  Will mir in nächster Zeit ein zweites Nuki-Schloss dazu installieren, das sollte ja kein Problem sein, oder?

                                  VG

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User last edited by

                                    Ich hab den Adapter gerade eben installiert, hab mich zuerst selber mit dem Token vera…. Konfiguration wurde nicht gespeichert. Aber beim zweiten Versuch hats geklappt. Jetzt stell ich mir noch pro Stockwerk einen Xiaomi Taster hin mit dem ich die openAction starte und Sesam öffne dich legt los. Ich hab leider keine Tür mit einem elektrischen Türöffner.

                                    Jetzt warte ich auf November bis das Keypad kommt und dann kann ich von außen ohne Handy die Tür öffnen. Und vielleicht wird die Eingabe am Keypad auch im Adapter angezeigt... Falls sowas überhaupt möglich ist.

                                    Vielen Dank für den Adapter!

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

                                      ich hab mir mit einem xiaomi taster

                                      Schalter Wireless Xiaomi für Klimaanlage/Projektor/Ventilator/ORIGINAL SMARTP… https://www.amazon.de/dp/B079L4H3BM/ref ... QBbVCN7JWR via @amazon

                                      und einem Script auch einen Zugang gemacht, wenn ich in einer bestimmten Reihenfolge und zeitlichen Abständen Einfachklick, Doppelklick und Longclick betätige, dann öffnet der iobroker das Nuki 🙂

                                      ... aber fragt nicht, ist wirklich nur für den Notfall, wenn man garnix dabei hat.. 😉

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

                                        @ilovegym:

                                        ich hab mir mit einem xiaomi taster

                                        Schalter Wireless Xiaomi für Klimaanlage/Projektor/Ventilator/ORIGINAL SMARTP… https://www.amazon.de/dp/B079L4H3BM/ref ... QBbVCN7JWR via @amazon

                                        und einem Script auch einen Zugang gemacht, wenn ich in einer bestimmten Reihenfolge und zeitlichen Abständen Einfachklick, Doppelklick und Longclick betätige, dann öffnet der iobroker das Nuki 🙂

                                        ... aber fragt nicht, ist wirklich nur für den Notfall, wenn man garnix dabei hat.. 😉 `

                                        Das ist cool.

                                        Kannst du mir das Script zur Verfügung stellen?

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User last edited by

                                          @ilovegym du schreibst doch von NFC Adapter? Oder ist der Xiaomi ein Backup?

                                          Sollte das Nuki Keypad im iobroker funktionieren wären darüber noch andere Dinge machbar. Bin gespannt was smaragdschlange dazu sagt.

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

                                            Ja, habe und nutze zu 80% den NFC Zugang, ansonsten die App oder den Xiaomi Taster.

                                            Ich glaube nicht, dass Nuki das Keypad so gestalten wird, dass man es in iobroker "sehen"-nutzen kann… wird wie bei der App, einfach ein Bluetooth-Zugriff direkt auf das Schloss sein. Damit bekommt der iobroker nix davon mit.

                                            Sonst muesste ja jeder der das Keypad hat, auch eine Bridge haben...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            nuki nuki adapter
                                            23
                                            90
                                            21132
                                            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