Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Nuki-extended v2.0.x

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter Nuki-extended v2.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      locke987 @Zefau last edited by locke987

      @Zefau installieren konnte ich es, ich habe danach einen neue Instanz hinzugefügt und die alte Instanz deaktiviert, die Version ist laut iobroker noch die selbe, also 1.0.4
      Sollte der lockstate jetzt aktualisiert werden bei deaktivierten callback oder was ist jetzt anders?

      Zefau 1 Reply Last reply Reply Quote 0
      • Zefau
        Zefau @locke987 last edited by

        @locke987 sagte in [Neuer Adapter] Nuki:

        Sollte der lockstate jetzt aktualisiert werden bei deaktivierten callback oder was ist jetzt anders?

        Trag mal im Reiter der Web Api eine Refresh Zeit ein. In der Version auf Github gilt diese auch für die Bridge. Design muss ich noch ändern.

        Dann pollt er den Status regelmäßig ab.

        L 1 Reply Last reply Reply Quote 0
        • L
          locke987 @Zefau last edited by

          @Zefau ja das funktionier jetzt ...lockstate wird so jetzt auch upgedated.
          Danke Dir!

          Frage zum Webadapter:
          Was genau ist der Zweck des Webadapters? Es gibt ein paar mehr Objekte wie zum Beispiel doorstate richtig? Und wie werden diese Objekte dann upgedated? Ganz normal über die http appi und dem callback? Oder könnte man die WebApi auch alleine verwenden?

          Zefau 1 Reply Last reply Reply Quote 0
          • Zefau
            Zefau @locke987 last edited by

            @locke987 Die Web API liefert zusätzliche Informationen, beispielsweise Logs (damit wird auch das Interface aufgebaut, siehe https://forum.iobroker.net/assets/uploads/files/1553251416356-screenshot_2019-03-22-iobroker-nuki2.png), die gesamte Konfiguration und die berechtigten Benutzer - auch doorstate ist mit drin.
            Die Web API hat keinen Callback. Dieser ist nur bei der Bridge API verfügbar. Die States werden über Polling geupdated.

            Theoretisch kann man die Web API auch alleine verwenden, aber gerade das schicken von Aktionen macht über die Bridge API mehr Sinn.

            L 1 Reply Last reply Reply Quote 0
            • L
              locke987 @Zefau last edited by

              @Zefau Danke für die Aufklärung!

              1 Reply Last reply Reply Quote 0
              • cash
                cash Most Active last edited by

                Nachdem heute überraschend nicht nur der neue Türzylinder sondern auch das Nuki-Schloß und die Bridge angekommen sind habe ich mal den Nuki 2.0 Adapter von Zefau installiert.

                Läuft erstmal alles so wie es soll. Deshalb an dieser Stelle eine Danke an Zefau für diesen Adapter.

                1 Reply Last reply Reply Quote 1
                • Zefau
                  Zefau @locke987 last edited by

                  @Sandmanyz

                  @locke987 sagte in [Neuer Adapter] Nuki:

                  Mich würde interessieren was bei Dir passiert wenn Du zu schnell hintereinander lock/unlock Befehle über den Adapter schickst.

                  Ich habe übrigens keine Problem, nutze aber auch eine Software Bridge (bzw. Android Bridge App), siehe https://nuki.io/de/hilfe/bridge-de/android-bridge-app/android-bridge-app/.
                  Die Hardware der Nuki Bridge scheint einfach schlecht zu sein und mit vielen Abfragen nicht klarzukommen.

                  Leider unterstützt die Software Bridge den Nuki Opener nicht.

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

                    Hallo zusammen,

                    ich entwickle gerade an einer Version v2.0.0, die verschiedene Verbesserung sowie den Support für den Nuki Opener mitbringt und suche noch Tester.

                    Installation

                    Alle Interessierten können den Adapter gerne installieren, siehe auch https://github.com/Zefau/ioBroker.nuki2/issues/18#issuecomment-533825482

                    Im Ordner /opt/iobroker:

                    npm i https://github.com/Zefau/ioBroker.nuki2.git#nuki-extended
                    

                    danach

                    iobroker add nuki-extended
                    

                    Features

                    • Support für den Nuki Opener
                    • Unterstützung des hashed token (siehe https://developer.nuki.io/page/nuki-bridge-http-api-190/4#heading--token)
                    • Nuki Web API wird nun als Fallback genutzt, sofern die Nuki Bridge API den Befehl nicht verarbeitet, z. B. aufgrund der Nichterreichbarkeit der Bridge (siehe https://forum.iobroker.net/post/300982 bzw. https://developer.nuki.io/t/random-http-503-unavailable/909/85?u=zefau)
                    • Sofern keine Nuki Web API genutzt wird, werden Befehle an die Bridge bei einem Fehler erneut geschickt
                    • Option für regelmäßige Synchronisierung hinzugefügt (Alternative zum Callback)
                    • Aktualisierung aller States über die Nuki Web API, wenn ein Callback über die Nuki Bridge API empfangen wurde
                    • Nuki Notifications (Benachrichtigungen) werden ausgelesen

                    Hinweise

                    Der Adapter Nuki2 wird mit dem Release v2.0.0 in nuki-extended umbenannt. Insofern wird mit der oben beschriebenen Installation ein neuer Adapter installiert. Der Nuki2 Adapter bleibt unverändert erhalten (nichts wird kaputt gemacht).

                    Die Objekte sind im Vergleich zur alten Version v1.0.4 neu strukturiert bzw. gruppiert.

                    Roadmap

                    https://github.com/Zefau/ioBroker.nuki2/projects/1


                    AntiHeld889 created this issue in Zefau/ioBroker.nuki2

                    closed Support Nuki Opener (Bridge HTTP API 1.9.0) #18

                    Neuschwansteini S 2 Replies Last reply Reply Quote 1
                    • Neuschwansteini
                      Neuschwansteini @Zefau last edited by

                      @Zefau Guten Morgen, tolle Arbeit, vielen Dank!
                      Ich benutze seit beginn den Adapter von Smaragdschlange, läuft hier einwandfrei, bzw hatte ich damals selbst ein Javascript geschrieben, das die Lockstates abfragte und als objekte in iobroker anlegte. 🙂
                      Allerdings hab ich natürlich auch das Problem, dass die Bridge ab und an mal nicht hinterher kommt .. aber recht selten.

                      Habe jetzt den nuki-extended installiert, hatte beim holen von git aber probleme mit den rechten von npm unter meinem normalen account, da meine iobroker installation schon sehr alt ist.. wurde durch die alten Versionen die Rechte vermurkst.. auch der Fixer hilft da nicht immer.. und auch ein
                      sudo chown -R 1000:1000 /home/ilovegym/.npm
                      half nicht..

                      Dafür der Adapter aber einwandfrei, bis jetzt, verwende darin die WebApi und die Bridge. Ich habe noch das allererste Nuki. Türkontakte etc mach ich alles über xiaomi.

                      iobroker läuft auf Linux Mint 18.3 in ner VM unter Proxmox. JS-Controller 1.5.14, Node 10.16.3, NPM 6.11.2.

                      ps: hab auch mal auf den PP Button gedrückt, gibts Dich auch bei Patreon.com ? 🙂

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sandmanyz @Zefau last edited by

                        @Zefau

                        Ich habe gerade mal mein Glück versucht. So richtig erfolgreich war ich nicht. Was durchaus an mir liegen kann. Es taucht kein neuer Adapter auf.

                        npm i https://github.com/Zefau/ioBroker.nuki2.git#nuki-extended
                        
                        
                        npm WARN saveError ENOENT: no such file or directory, open '/root/package.json'
                        npm notice created a lockfile as package-lock.json. You should commit this file.
                        npm WARN enoent ENOENT: no such file or directory, open '/root/package.json'
                        npm WARN root No description
                        npm WARN root No repository field.
                        npm WARN root No README data
                        npm WARN root No license field.
                        
                        + iobroker.nuki-extended@2.0.0
                        added 109 packages from 137 contributors and audited 541 packages in 17.291s
                        found 0 vulnerabilities
                        
                        
                        iobroker add nuki-extended
                        
                        host.raspberrypi Unknown packetName nuki-extended
                        
                        
                        Zefau 1 Reply Last reply Reply Quote 0
                        • Zefau
                          Zefau @Sandmanyz last edited by

                          @Sandmanyz sorry, bitte im Ordner von ioBroker ausführen (/opt/iobroker).

                          1 Reply Last reply Reply Quote 0
                          • cash
                            cash Most Active last edited by

                            Muss ich auch testen sofern ich den Opener installiert kriege (sollte Montag kommen).

                            Aber mal zwei anderen Fragen zu dem alten Adapter. Zum einen habe ich heute einen neuen Benutzer eingerichtet der auch schon einmal erfolgreich die Tür geöffnet habe. Das ganze kann ich auch auf der Adapter Webseite (Protokoll) sehen. Aber der Benutzer taucht nicht in den Objekten auf? Für mich und meine Frau gibt es extra Punkte unter den Objekt users. Wo könnte das Problem liegen. Synronisation steht auf 60 Sekunden. Callback ist auch eingerichtet?

                            Die andere Frage: Wie kann ich mittels Script ermitteln welcher Benutzer die Tür geöffnet hat? Ich würde gerne das wenn der heute angelegte Benutzer die Tür öffnet das ich dann ein paar bestimmte Lampen einschalte, Alarmanlage ausgeschaltet wird usw. Der Benutzer ist unser Haussitter wenn wir im Urlaub sind...

                            Zefau 1 Reply Last reply Reply Quote 0
                            • cash
                              cash Most Active last edited by

                              Habe nun doch mal eben den nuki-extended Adapter installiert. Aber auch hier taucht der Benutzer nicht bei den Usern auf? Nur meine Frau, ich und nuki_web...

                              Zefau 1 Reply Last reply Reply Quote 0
                              • cash
                                cash Most Active last edited by cash

                                Im Log erscheint bei mir immer:

                                	getWebApi(): Error retrieving smartlocks: Cannot read property 'replace' of null
                                

                                Habe den gleichen Token wie beim alten Adapter eingetragen. Der alte Adapter ist deaktiviert.

                                1 Reply Last reply Reply Quote 0
                                • Zefau
                                  Zefau @cash last edited by

                                  @cash sagte in [Neuer Adapter] Nuki:

                                  Habe nun doch mal eben den nuki-extended Adapter installiert. Aber auch hier taucht der Benutzer nicht bei den Usern auf? Nur meine Frau, ich und nuki_web...

                                  Erscheint der Benutzer auf der Nuki Web Seite unter https://web.nuki.io/de/#/admin/users ?

                                  cash 1 Reply Last reply Reply Quote 0
                                  • cash
                                    cash Most Active @Zefau last edited by

                                    @Zefau Komisch. Dort ist er auch nicht. Habe dem Benutzer nicht erlaubt aus der Ferne zu öffen. In der App ist er aber unter Benutzer zu finden.

                                    1 Reply Last reply Reply Quote 0
                                    • Zefau
                                      Zefau @cash last edited by

                                      @cash sagte in [Neuer Adapter] Nuki:

                                      Die andere Frage: Wie kann ich mittels Script ermitteln welcher Benutzer die Tür geöffnet hat? Ich würde gerne das wenn der heute angelegte Benutzer die Tür öffnet das ich dann ein paar bestimmte Lampen einschalte, Alarmanlage ausgeschaltet wird usw. Der Benutzer ist unser Haussitter wenn wir im Urlaub sind...

                                      Der Callback selbst liefert diese Daten nicht. Mit der Nuki Web API bekommst du aber alle Events in den log State geschrieben. Den kannst du per Skript auswerten.

                                      1 Reply Last reply Reply Quote 0
                                      • cash
                                        cash Most Active last edited by

                                        @Zefau hast Du dazu schon eine Idee wo mein Problem sein könnte?

                                        getWebApi(): Error retrieving smartlocks: Cannot read property 'replace' of null
                                        

                                        Das Log bevor der Fehler immer und immer wieder kommt sieht erstmal ok aus:

                                        nuki-extended.0	2019-09-29 09:37:21.624	info	Listening for Nuki events on port 51988.
                                        nuki-extended.0	2019-09-29 09:37:20.036	info	Polling Nuki Web API with a frequency of 60s.
                                        nuki-extended.0	2019-09-29 09:37:19.812	info	starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.nuki-extended, node: v8.14.0
                                        host.iobroker_v2_19-05-19	2019-09-29 09:37:16.087	info	instance system.adapter.nuki-extended.0 started with pid 3008
                                        host.iobroker_v2_19-05-19	2019-09-29 09:37:15.852	info	"system.adapter.nuki-extended.0" enabled
                                        

                                        Ein Problem habe ich auch mit einen Javascript:

                                        
                                        var logging = true;
                                        var debugging = false;
                                        var Dauer = 1;      //nach x Minuten kommt eine Push das die Tür offen steht
                                        var timer = null;
                                        //var id_Status = 'nuki-extended.0.smartlocks.wohnungstür.state.closed'/*Indication if door is closed (boolean of doorState)*/
                                        var id_Status = 'nuki2.0.door__wohnungstür.status.closed'/*Indication if door is closed (boolean of doorState)*/;
                                        var sendpush = true;
                                        
                                        
                                        
                                        
                                        function func_Nuki(){
                                           var Status = getState(id_Status).val;
                                        
                                           if(!Status){
                                               if(logging){
                                                   log('Die Wohnungstür ist offen. Starte Timer für '+Dauer +' Minuten');
                                               }
                                                
                                           }
                                           else{
                                               if(logging){
                                                   log('Die Wohnungstür ist geschlossen.');
                                               }    
                                           }    
                                        }
                                        
                                        on({id: id_Status, val: false, ack: true}, func_Nuki);
                                        

                                        Das Script soll einfach nur Testweise eine Push schicken wenn die Tür offen ist. Deshalb val: false.
                                        Das gleiche Script nutze ich relativ häufig bei verschiedenen Adaptern. Aber hier reagiert es einfach nicht. Lasse ich das val: false komplett weg. Funktioniert das Script und reagiert entsprechend auf die Statusänderung. Als ob der Wert von den Objekt kein booelan wäre. Laut Objekt RAW ist es aber natürlich ein boolean.

                                        In der Endfassung soll das Script mich informieren wenn die Tür nach x Minuten immer noch offen steht.

                                        Zefau 2 Replies Last reply Reply Quote 0
                                        • Zefau
                                          Zefau @cash last edited by

                                          @cash bzgl. des Fehlers installier mal bitte die aktuelle Entwickler-Version von Github drüber (siehe https://forum.iobroker.net/post/304268). Hoffe, dass es damit behoben ist.

                                          1 Reply Last reply Reply Quote 0
                                          • Zefau
                                            Zefau @cash last edited by

                                            @cash sagte in [Neuer Adapter] Nuki:

                                            Das gleiche Script nutze ich relativ häufig bei verschiedenen Adaptern. Aber hier reagiert es einfach nicht. Lasse ich das val: false komplett weg. Funktioniert das Script und reagiert entsprechend auf die Statusänderung. Als ob der Wert von den Objekt kein booelan wäre. Laut Objekt RAW ist es aber natürlich ein boolean.

                                            Das val: false musst du auch weglassen. Mit val: false triggert das Skript ja nur, wenn closed auf false geht. Die Funktion func_Nuki fragt ja aber den Status von closed ab und reagiert mit dem If auf false, aber auch auf true.

                                            Sprich, wenn du val: false drin lässt, würde das Skript ja nie den else Pfad triggern (da true nie empfangen wird).

                                            Hast du den restlichen Teil des Skripts denn schon fertig?

                                            Wie wäre es mit folgendem Vorschlag:

                                            var logging = true;
                                            var debugging = false;
                                            var Dauer = 1;      //nach x Minuten kommt eine Push das die Tür offen steht
                                            var timer = null;
                                            
                                            //var id_Status = 'nuki-extended.0.smartlocks.wohnungstür.state.closed'/*Indication if door is closed (boolean of doorState)*/
                                            var id_Status = 'nuki2.0.door__wohnungstür.status.closed'/*Indication if door is closed (boolean of doorState)*/;
                                            
                                            var sendpush = true;
                                            
                                            function func_Nuki(){
                                            
                                               var doorClosed = getState(id_Status).val;
                                            
                                               if(!doorClosed){ // Tür wurde geöffnet
                                                   if(logging){
                                                       log('Die Wohnungstür ist offen. Starte Timer für '+Dauer +' Minuten');
                                            		   timer = setTimeout(function()
                                            		   {
                                            				// sende push
                                            				if (sendpush)
                                            				{
                                            					// wie du das machst weiß ich nicht
                                            					// per Telegram?
                                            				
                                            				
                                            				}
                                            				
                                            		   }, Dauer*60*1000); // Zeit in Millisekunden
                                                   }
                                               }
                                               
                                               else{ // Tür wieder geschlossen
                                                   if(logging){
                                                       log('Die Wohnungstür ist geschlossen.');
                                            		   if (timer) clearTimeout(timer);
                                                   }    
                                               }   
                                            }
                                            
                                             
                                            on({id: id_Status, ack: true}, func_Nuki);
                                            
                                            cash 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            nuki nuki-extended adapter
                                            65
                                            599
                                            95903
                                            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