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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Nuki-extended v2.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                          • cash
                            cash Most Active @Zefau last edited by

                            @Zefau Ja den Scriptteil hatte ich schon geschrieben. Ebenfalls mit Timer. Sah fast 1:1 so wie Dein Vorschlag aus. Nur hatte ich nach Ablauf vom Timer nochmal den Wert abgefragt damit er nur die Push schickt wenn die Tür noch offen ist. Das umgehst du ja mit dem else Teile und dem clearTimeout.

                            Viele Wege führen nach Rom. Ich wollte halt nur auf false triggern weil mich das true nicht interessiert und ich eben so wenig wie möglich aber soviel wie nötig triggern will.

                            Mir war bewußt das der else Teil nie ausgeführt wird. War auch so gewollt und im ersten Script war es auch nicht drin. Aber als das mit dem val:false nicht klappte habe ich den else Teil eingefügt um zu sehen was überhaupt getriggert wird.

                            Neue Version installiert. Der Fehler schein weg dafür ein neuer:

                            nuki-extended.1	2019-09-29 10:35:32.373	warn	Failed retrieving /list from Nuki Bridge with name Nuki Bridge!
                            
                            1 Reply Last reply Reply Quote 0
                            • cash
                              cash Most Active last edited by

                              Beim stoppen vom Adapter sieht es auch nicht so richtig gut aus:

                              nuki-extended.1	2019-09-29 10:37:45.590	info	Listening for Nuki events on port 51988.
                              nuki-extended.1	2019-09-29 10:37:43.946	info	Polling Nuki Web API with a frequency of 60s.
                              nuki-extended.1	2019-09-29 10:37:43.689	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 10:37:40.169	info	instance system.adapter.nuki-extended.1 started with pid 4631
                              host.iobroker_v2_19-05-19	2019-09-29 10:37:40.047	info	object change system.adapter.nuki-extended.1
                              host.iobroker_v2_19-05-19	2019-09-29 10:37:17.484	info	instance system.adapter.nuki-extended.1 terminated with code 0 (OK)
                              Caught	2019-09-29 10:37:17.484	error	by controller[2]: (node:4553) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with
                              Caught	2019-09-29 10:37:17.484	error	by controller[2]: (node:4553) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejectin
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at process._tickCallback (internal/process/next_tick.js:181:9)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at _combinedTickCallback (internal/process/next_tick.js:139:11)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at endReadableNT (_stream_readable.js:1064:12)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at Socket.emit (events.js:208:7)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at emitNone (events.js:111:20)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at Socket.socketOnEnd (_http_client.js:437:9)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at ClientRequest.emit (events.js:211:7)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at emitOne (events.js:116:13)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:881:8)
                              Caught	2019-09-29 10:37:17.484	error	by controller[1]: at Request.emit (events.js:211:7)
                              Caught	2019-09-29 10:37:17.483	error	by controller[1]: at emitOne (events.js:116:13)
                              Caught	2019-09-29 10:37:17.483	error	by controller[1]: at self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                              Caught	2019-09-29 10:37:17.483	error	by controller[1]: at Request.RP$callback [as _callback] (/opt/iobroker/node_modules/request-promise-core/lib/plumbing.js:46:31)
                              Caught	2019-09-29 10:37:17.483	error	by controller[1]: at Request.plumbing.callback (/opt/iobroker/node_modules/request-promise-core/lib/plumbing.js:87:29)
                              Caught	2019-09-29 10:37:17.483	error	by controller[1]: at new RequestError (/opt/iobroker/node_modules/request-promise-core/lib/errors.js:14:15)
                              Caught	2019-09-29 10:37:17.483	error	by controller[1]: (node:4553) UnhandledPromiseRejectionWarning: RequestError: Error: socket hang up
                              nuki-extended.1	2019-09-29 10:37:17.458	info	Adapter stopped und unloaded.
                              host.iobroker_v2_19-05-19	2019-09-29 10:37:17.433	info	stopInstance system.adapter.nuki-extended.1 killing pid 4553
                              host.iobroker_v2_19-05-19	2019-09-29 10:37:17.433	info	stopInstance system.adapter.nuki-extended.1
                              host.iobroker_v2_19-05-19	2019-09-29 10:37:17.433	info	"system.adapter.nuki-extended.1" disabled
                              nuki-extended.1	2019-09-29 10:37:17.435	info	Adapter stopped und unloaded.
                              

                              Nach dem Neustart des Adapters scheint er aber jetzt ruhig zu sein.

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

                                @cash vielen Dank für das Testen! Kannst du dir die aktuelle Version von Github installieren (v2.0.0-rc.2)? Danke!

                                Changelog:

                                • added support for multiple devices (including Nuki Opener) on adapter web interface
                                • added option to not retrieve all information (by deselecting config or users) via Nuki Web API
                                cash 1 Reply Last reply Reply Quote 0
                                • cash
                                  cash Most Active @Zefau last edited by

                                  @Zefau Kann ich machen. Wie kann ich den Adapter updaten ohne eine neue Instanz anzulegen? Wo ich heute Morgen die Version installiert habe, hat er eine neue Instanz angelegt und dort musste ich dann wieder Token, Api, IP usw neu eingeben....

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

                                    @cash sagte in [Neuer Adapter] Nuki:

                                    Wie kann ich den Adapter updaten ohne eine neue Instanz anzulegen?

                                    Einfach im Ordner /opt/iobroker

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

                                    Dann sollte er die vorhandene Installation einfach überschreiben und die Konfiguration beibehalten.

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

                                      @Zefau habe ich gemacht. Habe auch gesehen das er was installiert bzw aktualisiert hat aber eine Veränderung sehe ich aber beim Adapter nicht. Das heißt der Adapter sieht noch genauso aus wie vorher. Kann dort nichts zusätzlich einstellen wegen User oder so...

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

                                        @cash sagte in [Neuer Adapter] Nuki:

                                        Das heißt der Adapter sieht noch genauso aus wie vorher.

                                        Stimmt, kannst du den Adapter mal uploaden? Also entweder über die GUI oder

                                        iobroker upload nuki-extended
                                        

                                        Dann sollte er bei Adapter-Start die Version v2.0.0-rc.2 anzeigen.

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

                                          @Zefau said in [Neuer Adapter] Nuki:

                                          iobroker upload nuki-extended

                                          In der Gui sehe ich den Adapter unter "Adapter" nicht sondern nur unter Instanzen. Habe also iobroker upload gemacht. Sieht nicht gut aus:

                                          host.iobroker_v2_19-05-19	2019-09-29 14:53:40.249	info	object change system.adapter.nuki-extended.1
                                          host.iobroker_v2_19-05-19	2019-09-29 14:53:30.238	info	Restart adapter system.adapter.nuki-extended.1 because enabled
                                          host.iobroker_v2_19-05-19	2019-09-29 14:53:30.238	error	instance system.adapter.nuki-extended.1 terminated with code 1 ()
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Module._compile (module.js:653:30)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.nuki-extended/nuki-extended.js:11:16)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at require (internal/module.js:11:18)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Module.require (module.js:597:17)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Function.Module._load (module.js:498:3)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at tryModuleLoad (module.js:506:12)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Module.load (module.js:566:32)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Object.Module._extensions..js (module.js:664:10)
                                          Caught	2019-09-29 14:53:30.238	error	by controller[0]: at Module._compile (module.js:653:30)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.nuki-extended/lib/nuki-bridge-api/index.js:1:76)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at require (internal/module.js:11:18)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Module.require (module.js:597:17)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Function.Module._load (module.js:498:3)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at tryModuleLoad (module.js:506:12)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Module.load (module.js:566:32)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Object.Module._extensions..js (module.js:664:10)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Module._compile (module.js:653:30)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.nuki-extended/lib/nuki-bridge-api/lib/bridge.js:2:13)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at require (internal/module.js:11:18)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Module.require (module.js:597:17)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Function.Module._load (module.js:475:25)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: at Function.Module._resolveFilename (module.js:548:15)
                                          Caught	2019-09-29 14:53:30.237	error	by controller[0]: Error: Cannot find module 'sha.js'
                                          Caught	2019-09-29 14:53:30.236	error	by controller[0]: ^
                                          Caught	2019-09-29 14:53:30.236	error	by controller[0]: throw err;
                                          Caught	2019-09-29 14:53:30.236	error	by controller[0]: module.js:550
                                          host.iobroker_v2_19-05-19	2019-09-29 14:53:29.406	info	instance system.adapter.nuki-extended.1 started with pid 9573
                                          host.iobroker_v2_19-05-19	2019-09-29 14:52:59.320	info	Restart adapter system.adapter.nuki-extended.1 because enabled
                                          

                                          Adapter wird nicht grün

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

                                            @cash arg, ist ein neues Modul, was für den hashed token verwendet wird, was ich vergessen habe in den Dependencies anzugeben. Sorry.

                                            Kannst du nochmal von Github nachinstallieren? Danke dir!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            888
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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