Coder Social home page Coder Social logo

homebridge-nb's Introduction

Homebridge NB

Downloads Version Homebridge Discord verified-by-homebridge

GitHub issues GitHub pull requests JavaScript Style Guide

Homebridge plugin for Nuki Bridge

Copyright © 2020-2024 Erik Baauw. All rights reserved.

This Homebridge plugin exposes Nuki Smart Lock and Nuki Opener devices, connected to a Nuki Bridge, to Apple's HomeKit. It provides the following features:

  • Expose each Nuki Bridge as separate accessory with a custom service. Home shows this accessory as Not Supported in Home, but is required for Homebridge NB. In Eve and other HomeKit apps, this accessory provides control of the polling rate, the level of logging, and rebooting the Bridge.
    In future, this accessory might become a separate bridge.
  • Expose each Nuki Smart Lock as a separate accessory, with a Lock Mechanism service to control the lock, and a Battery service for the battery. The when present and configured, door sensor is exposed as separate Contact Sensor service, including Eve history.
  • Expose each Nuki Opener as separate accessory, with a Doorbell service for the ringer, a Lock Mechanism service for the opener, and a Battery Service for the battery.
  • Zero configuration:
    • Automatic discovery of Nuki Bridge and paired Smart Lock and Opener devices.
    • Automatic configuration of API token. The token is persisted across Homebridge restarts (in the Bridge accessory).
  • Technical:
    • Use local API provided by the Nuki Bridge; no Internet connection needed (except for discovery of the Bridge).
    • Use hashed tokens for added security.
    • Subscribe to Nuki Bridge for notifications on device state changes.
    • Use Identify on the Smart Lock and Opener accessories to force the Bridge to contact the device and refresh the cached device state.

Prerequisites

Homebridge NB communicates with the Nuki Bridge using the local Nuki Bridge HTTP API. You need to enable this API through the Nuki app.

Use Eve to get the full functionality, like history for the door sensor, and support for Ring to Open and Continuous Mode on the Opener.

Command-Line Tool

Homebridge NB includes a command-line tool, nb, to interact with the Nuki Bridge from the comand line. It takes a -h or --help argument to provide a brief overview of its functionality and command-line arguments.

Installation

To install Homebridge NB:

  • Follow the instructions on the Homebridge Wiki to install Node.js and Homebridge;
  • Install the Homebridge NB plugin through Homebridge Config UI X or manually by:
    $ sudo npm -g i homebridge-nb
    
  • Edit config.json and add the NB platform provided by Homebridge NB, see Homebridge Configuration;
  • Run Homebrdige NB for the first time, and press the button on the Nuki bridge. The bridge should be discovered automatically. Pressing the button allows Homebridge NB to obtain a token (API key).

Configuration

In Homebridge's config.json you need to specify Homebridge NB as a platform plugin.

  "platforms": [
    {
      "platform": "NB"
    }
  ]

homebridge-nb's People

Contributors

ebaauw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-nb's Issues

Zero Conf problems - second bridge detected

Zero Config approach in the plugin causes some issues on my end.

First some background: I'm stuck behind a Carrier Grade NAT with multiple changing external IPs.

Usually the https://api.nuki.io/discover/bridges does not return anything, but sporadically it returns information about my bridge, but in the same reply there is a second bridge returned.

Now after many restarts of the homebridge to trigger the discovery mechanism I got my bridge detected and the plugin was able to connect after pressing the button on the bridge.

Everything works perfectly.

But since then the plugin also starts spamming the logs with complaints about the second bridge:

[9/27/2021, 6:33:03 PM] [Nuki] warning: Bridge_xxxxxxxx: request 2614: error: timeout after 60 seconds [9/27/2021, 6:33:03 PM] [Nuki] warning: timeout after 60 seconds [9/27/2021, 6:33:03 PM] [Nuki] Bridge_xxxxxxxx: press Nuki bridge button to obtain token [9/27/2021, 6:33:03 PM] [Nuki] Bridge_xxxxxxxx: request 2634: GET /auth [9/27/2021, 6:33:03 PM] [Nuki] warning: Bridge_xxxxxxxx: request 2634: error: timeout after 60 seconds [9/27/2021, 6:33:03 PM] [Nuki] warning: timeout after 60 seconds [9/27/2021, 6:33:03 PM] [Nuki] Bridge_xxxxxxxx: press Nuki bridge button to obtain token [9/27/2021, 6:33:03 PM] [Nuki] Bridge_xxxxxxxx: request 2584: GET /auth [9/27/2021, 6:33:03 PM] [Nuki] warning: Bridge_xxxxxxxx: request 2584: error: timeout after 60 seconds [9/27/2021, 6:33:03 PM] [Nuki] warning: timeout after 60 seconds

And the request are getting more and more every day.

Anything I can do to make the plugin forget that bridge?

Nuki Smart Lock 3.0 Pro not Added

I added my new bought setup (Bridge, Opener, Smart Lock 3.0 Pro with Door Sensor) to HomeKit with this plugin and only the Bridge and Opener get exposed. Can't find a way to get the Lock and Sensor to get exposed. Deleted, deactivated und reinstalled the plugin several times. Deleted the cached devices generated by this Plugin. Every time my devices get added, excluding the Lock with the Door Sensor.

Is the 3.0 Pro supported by this Plugin?
Is it possible that the lock can't get recognized because I had it added through the native HomeKit function before?
I removed it shortly after, deactivated it in the Nuki App and found your Plugin.
I checked that the Lock is connected with Bluetooth to the Bridge. The bridge is telling me it is connected to it correctly via the App and the dedicated WiFi module installed within the Pro is deactivated.

Cannot read property 'ringactionState' of undefined

After getting a replacement opener from Nuki, the new opener seems to throw an exception:
"Nuki_Bridge_XXXXX: warning: heartbeat error: TypeError: Cannot read property 'ringactionState' of undefined"
I already enabled debug- and web mode on the opener, updated node.js, renewed the subscription and re-installed the whole plugin. However, the issue persists. Newest firmwares are also installed. Any help would be appreciated!

Every homebridge reboot generate a new callback id

II´ve deleted all callbacks ids last week but homebridge now reported again too many callbacks in the logs - i made some tests - every homebridge reboot generates a new callback id because nb use different ports, as example:

homebridge@homebridge-server:~$ nb -H 192.168.2.55:8080 -T xxx callbackList
{
"callbacks": [
{
"id": 0,
"url": "http://192.168.2.251:38431/notify/5DDE33F4"
},
{
"id": 1,
"url": "http://192.168.2.251:40095/notify/5DDE33F4"
},
{
"id": 2,
"url": "http://192.168.2.251:37069/notify/5DDE33F4"
}

Feature request: Door latch only for one lock

Hi again,

sorry to bother again.

But is there a way to enable the latch only for one lock? As I have two locks but only one has a latch.

Maybe I do not see the way this is being realized, so I am asking for this.

Thank you in advance.

Cheers

ECONNREFUSES

After clean install from homebridge and the plugin i only the see this error:

6F6C8428-622F-4B9D-9A0B-08A4F73BC90C

With 100.10.1.54:8080/callback/list?token=XXXXX the result is {"callbacks": []}

Pls help

Unexpected token in JSON at position 81

After pressing the button on the Bridge to allow the plugin to connect, I get the following messages in the Homebridge log:

[31/08/2021, 20:24:28] [Nuki] Nuki_Bridge_17A1D616: request 5: GET /list
[31/08/2021, 20:24:28] [Nuki] Nuki_Bridge_17A1D616: warning: request 5: error: Unexpected token in JSON at position 81
[31/08/2021, 20:24:28] [Nuki] Nuki_Bridge_17A1D616: warning: heartbeat error: Unexpected token in JSON at position 81

This repeats every minute.
No Nuki devices are shown in the Home app/Homebridge apart from the Nuki Bridge.

I have browsed to some of the API pages through a browser with the following results:
My /info:
{"bridgeType": 1, "ids": {"hardwareId": (redacted), "serverId": (redacted)}, "versions": {"firmwareVersion": "2.9.3", "wifiFirmwareVersion": "2.2.0"}, "uptime": 295, "currentTime": "2021-08-31T19:17:55+00:00", "wlanConnected": true, "serverConnected": true, "scanResults": [{"deviceType": 2, "nukiId": (redacted), "name": "Nuki_Opener_1CC8DF02", "rssi": -46, "paired": true}]}

My /list:
[{"deviceType": 2, "nukiId": (redacted), "name": "Cygnet Court Front Entrance Door�G", "firmwareVersion": "1.6.4", "lastKnownState": {"mode": 2, "state": 1, "stateName": "online", "batteryCritical": false, "ringactionTimestamp": "2021-08-31T16:19:46+00:00", "ringactionState": false, "timestamp": "2021-08-31T19:13:12+00:00"}}]

Any ideas what could be causing this?
I have removed the plugin and reinstalled it a few times now to no avail.

Nuki Bridge can't listen

Hi,
I want to establish my nuki plugin but everytime I push the button at the beginning I get the following error message:

[Nuki] error: 10.0.30.*:405**: cannot listen: EADDRNOTAVAIL

I have also tested it with no fix port but got the same result. I have also opened my configured Port into my ufw firewall and Unifi router to the IoT Network.

Status not updated

My lock status is not updatet in Home and eve app. It shows unlocked but it is locked.
In nuki app it is correct.

64232DD3-D9A0-4F36-8783-9E9B39C47BA9

Doorbell rings twice sometimes

Hi,

I noticed that the doorbell sometimes rings twice. Looking through the logs I would assume that this is because first ring is reacting to the callback event. If the interval pull from the bridge is showing the ringactionState also as true, then the doorbell rings a second time.

So I think the best way to fix this would be, to just react on the callback rings.

Cheers

Bridge error after 15 seconds

Hi, I run homebridge in a Docker container

After installing the plugin and pressing the button on the bridge for 10 secs I got the following warnings and error in the log
(IP Addresses and Bridge API Code changed)

[12/13/2020, 3:59:12 PM] [Nuki] Bridge_ABCDEF1: press Nuki bridge button to obtain token
[12/13/2020, 3:59:41 PM] [Nuki] warning: Nuki bridge button not pressed
[12/13/2020, 3:59:41 PM] [Nuki] Bridge_ABCDEF1: press Nuki bridge button to obtain token
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Name to "Nuki_Bridge_ABCDEF1"
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Serial Number to "ABCDEF1"
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Manufacturer to "Nuki Home Solutions GmbH"
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Model to "Bridge"
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Firmware Revision to "2.8.0"
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: Nuki Bridge v2.8.0 ABCDEF1 at 192.168.1.13:8080
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Name to "Nuki_Bridge_ABCDEF1"
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Heartrate to 60 seconds
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Restart to false
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Log Level to 2
[12/13/2020, 3:59:52 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Status Fault to 0
[12/13/2020, 3:59:53 PM] [Nuki] listening on http://192.168.0.47:36921/notify
[12/13/2020, 3:59:53 PM] [Nuki] Nuki_Bridge_ABCDEF1: subscribe to event notifications
[12/13/2020, 3:59:55 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Last Updated to "Sun Dec 13 2020 16:00:08"
[12/13/2020, 3:59:55 PM] [Nuki] Nuki_Bridge_ABCDEF1: set Last Boot to "Sat Dec 05 2020 14:03:22"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang: set Name to "Haupteingang"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang: set Serial Number to "12345678"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang: set Manufacturer to "Nuki Home Solutions GmbH"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang: set Model to "Smart Lock"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang: set Firmware Revision to "2.9.10"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang: Nuki Smart Lock v2.9.10 12345678
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Battery: set Name to "Haupteingang Battery"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Battery: set Battery Level to 100 percentage
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Battery: set Charging State to 2
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Battery: set Status Low Battery to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Lock: set Name to "Haupteingang Lock"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Lock: set Status Fault to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Latch: set Name to "Haupteingang Latch"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Sensor: set Name to "Haupteingang Sensor"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Sensor: set Times Opened to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Sensor: set Status Fault to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang History: set Name to "Haupteingang History"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Lock: set Lock Current State to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Lock: set Lock Target State to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Lock: set Last Updated to "Thu Dec 10 2020 14:58:47"
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Latch: set Lock Current State to 1
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Latch: set Lock Target State to 1
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Sensor: set Contact Sensor State to 0
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Sensor: set Last Activation to 1607875195 seconds
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Sensor: set Status Fault from 0 to 1
[12/13/2020, 3:59:55 PM] [Nuki] Haupteingang Battery: set Battery Level from 100 percentage to 84 percentage
[12/13/2020, 3:59:56 PM] [Nuki] warning: heartbeat 163, drift 791
[12/13/2020, 4:01:08 PM] [Nuki] Nuki_Bridge_ABCDEF1: warning: request 6: GET /callback/list
[12/13/2020, 4:01:08 PM] [Nuki] Nuki_Bridge_ABCDEF1: warning: request 6: error: undefined: timeout after 15 seconds
[12/13/2020, 4:01:08 PM] [Nuki] Nuki_Bridge_ABCDEF1: warning: heartbeat error: undefined: timeout after 15 seconds
[12/13/2020, 4:02:08 PM] [Nuki] Nuki_Bridge_ABCDEF1: warning: request 7: GET /callback/list
[12/13/2020, 4:02:08 PM] [Nuki] Nuki_Bridge_ABCDEF1: warning: request 7: error: undefined: timeout after 15 seconds
[12/13/2020, 4:02:08 PM] [Nuki] Nuki_Bridge_ABCDEF1: warning: heartbeat error: undefined: timeout after 15 seconds

[12/13/2020, 4:05:54 PM] [Nuki] error: undefined: timeout after 15 seconds

remove bridge tile on main home (favorites) screen

Thank you for this great plugin!

Is there a possibility to remove the "Nuki_Bridge_XXXXXXX" tile in the main home screen (favorites) and have it only in a separate room (standard room) like the (not supported) "Philips hue" and "Phoscon-GW" bridge which are only showed in a room but not in the main overview.

Thanks a lot for you help in advance!

Every unlock is an unlatch

Every time I unlock the lock with Homekit, the apartment door opens completely. I have activated the second lock (the "latch"-lock) to fully open the door in the configuration.

Is there a way to unlock the lock without opening the door?

I have already changed the door type in the Nuki app, but unfortunately that hasn't changed anything. The door will still open automatically.

Thank you for your great work! 🥰

Getting: nb: fatal: TypeError:

Hello,

im getting this Error all the time for a fresh homebrindge-nb installation.

homebridge@ubuntu:/var/lib/homebridge$ nb discover
nb: fatal: TypeError: Cannot read property 'split' of undefined
at Main.parseArguments (/usr/lib/node_modules/homebridge-nb/cli/nb.js:328:29)
at Main.main (/usr/lib/node_modules/homebridge-nb/cli/nb.js:336:27)
at Object. (/usr/lib/node_modules/homebridge-nb/cli/nb.js:586:12)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47

It seems that no matter which command I use, the same error always occurs.

request 4: error: http status 401 Unauthorized

When I try to connect the Nuki Bridge with Homebridge, I get asked in the console output to press the button on the bridge, when I press the button I'll get the following error:

[11/26/2021, 1:53:17 PM] [Nuki] Bridge_13D0CC59: request 4: GET /info
[11/26/2021, 1:53:17 PM] [Nuki] warning: Bridge_13D0CC59: request 4: error: http status 401 Unauthorized
[11/26/2021, 1:53:17 PM] [Nuki] warning: http status 401 Unauthorized

Tried it for several times, restarted homebridge, restarted Nuki bridge and double checked that HTTP API is enabled.
Any idea why this is not working?

How to remove devices from home app after uninstalling plugin?

At first let me say thank you for this plugin. It solves my problem of having more than one Nuki bridge. And it works with automatic detection...really cool!
After testing the plugin I uninstalled the plugin and deleted the part in the config. After restart the devices are still there.
Could you give advice please how to remove them?

Do you plan to support "open" in addition to latch/unlatch? Right now I just can latch/unlatch with Nuki 2.0 but not open the door. Other plugins use 2 switches for this topic.

Thank you again for your work!

Martin

Siri-issued commands receive different characteristics

I can no longer use my locks via Siri. It will react that it worked, but it doesn't force the state change. I sifted through the library, assume the issue is in the equality check at

value === this.Characteristics.hap.LockTargetState.UNSECURED
, but I'm beginning to think this is a Homebridge issue.

homebridge v1.3.1
node v14.16.0
homebridge-nb v1.0.8

From Siri:

[3/4/2021, 9:55:01 AM] [Nuki] Haustür: Lock Target State changed from 1 to **false**
[3/4/2021, 9:55:02 AM] [Nuki] Haustür: set Lock Target State from **false** to 1

From tapping on the lock (Nuki Opener) in Home:

[3/4/2021, 9:55:05 AM] [Nuki] Haustür: Lock Target State changed from 1 to **0**
[3/4/2021, 9:55:05 AM] [Nuki] Nuki_Bridge_XXXXXXXX: request 49: GET /lockAction?nukiId=XXXXXXXX&deviceType=2&action=3
[3/4/2021, 9:55:10 AM] [Nuki] Nuki_Bridge_XXXXXXXX: request 49: 200 OK
[3/4/2021, 9:55:10 AM] [Nuki] Haustür: set Lock Current State from 1 to **0**
[3/4/2021, 9:55:10 AM] [Nuki] Haustür: set Lock Current State from **0** to 1

Edit: Rolling back to Homebridge v1.2.5 before the characteristic changes has resolved the issue for now.

Option to disable Doorbell

Hello @ebaauw, thanks for the great plugin!

It works really well and is easy to set up.

I do have a problem with the Doorbell service, as it won't show up in the Home app as discussed in #1 it's impossible to disable it. It's a nice feature in theory but as I have multiple HomePods in my home they now all start ringing when somebody rings the bell and I can not disable that anywhere.

Any idea if you can expose the service in a way so it's possible to disable the ringing on the HomePods or if that's too difficult add an option to not set up the Doorbell service?

Thank you for your time.

Spam Homebridge log less

Thanks for plugin! It’s been working reliably for a me for a couple of days! So I use it instead of the native Nuki HomeKit integration now.

I just have one issue with it. It does write an entry into my homebase log every single minute, which makes the log pretty much unreadable. Could you please integrate a flag that allows for less detailed logging? Thanks!

No response

Hello. I keep getting no response in Home on my Nuki Smartlocks. I keep having those same messages in the log :

/usr/lib/node_modules/homebridge-nb/node_modules/homebridge-lib/lib/HttpClient.js:367
error = new HttpError(error.message, requestInfo)
^
Error: connect EHOSTUNREACH 192.168.178.37:8080
at ClientRequest. (/usr/lib/node_modules/homebridge-nb/node_modules/homebridge-lib/lib/HttpClient.js:367:21)
at ClientRequest.emit (node:events:390:28)
at Socket.socketErrorListener (node:_http_client:447:9)
at Socket.emit (node:events:390:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
[01/11/2021, 08:16:21] [Nuki] goodbye
[01/11/2021, 08:16:21] [Nuki] Child bridge process ended
[01/11/2021, 08:16:21] [Nuki] Process Ended. Code: 1, Signal: null
[01/11/2021, 08:16:28] [Nuki] Restarting Process...
Initializing HAP-NodeJS v0.9.6...
[01/11/2021, 08:16:29] [Nuki] Launched child bridge with PID 20674
[01/11/2021, 08:16:29] Registering platform 'homebridge-nb.Lib'
[01/11/2021, 08:16:30] Registering platform 'homebridge-nb.NB'
[01/11/2021, 08:16:30] [Nuki] Loaded homebridge-nb v1.1.13 child bridge successfully
[01/11/2021, 08:16:30] Loaded 11 cached accessories from cachedAccessories.0E31B8333214.
[01/11/2021, 08:16:30] [Nuki] homebridge-nb v1.1.13, node v16.13.0, homebridge v1.3.5, homebridge-lib v5.1.16
[01/11/2021, 08:16:30] [Nuki] Nuki_Bridge_5E62B028: Nuki Bridge v1.18.2 5E62B028 at 192.168.178.41:8080
[01/11/2021, 08:16:30] [Nuki] RESERVE BOISSONS: Nuki Smart Lock v1.12.0 C146B81
[01/11/2021, 08:16:30] [Nuki] Nuki_Bridge_3579BA5B: Nuki Bridge v1.18.2 3579BA5B at 192.168.178.29:8080
[01/11/2021, 08:16:30] [Nuki] REGIE: Nuki Smart Lock v1.12.0 C0F4929
[01/11/2021, 08:16:30] [Nuki] Nuki_Bridge_361F9939: Nuki Bridge v1.18.2 361F9939 at 192.168.178.24:8080
[01/11/2021, 08:16:30] [Nuki] BUREAU: Nuki Smart Lock v1.12.0 C1487B9
[01/11/2021, 08:16:30] [Nuki] Nuki_Bridge_30112FD: Nuki Bridge v1.18.2 30112FD at 192.168.178.31:8080
[01/11/2021, 08:16:30] [Nuki] LOCAL TECHNIQUE: Nuki Smart Lock v1.12.0 C1496A9
[01/11/2021, 08:16:30] [Nuki] Nuki_Bridge_19FED791: Nuki Bridge v1.18.2 19FED791 at 192.168.178.91:8080
[01/11/2021, 08:16:30] [Nuki] Nuki_Bridge_296BEDCC: Nuki Bridge v1.18.2 296BEDCC at 192.168.178.37:8080
[01/11/2021, 08:16:30] [Nuki] COULOIR SECOURS: Nuki Smart Lock v1.13.1 AF4FA59
Preparing Advertiser for 'Nuki 8681' using ciao backend!
[01/11/2021, 08:16:30] [Nuki] restored 11 accessories from cache
Starting to advertise 'Nuki 8681' using ciao backend!
[01/11/2021, 08:16:30] Homebridge v1.3.5 (Nuki) is running on port 37458.
[01/11/2021, 08:16:31] [Nuki] Nuki_Bridge_30112FD: warning: unclean shutdown - checking for stale subscriptions
[01/11/2021, 08:16:31] [Nuki] Nuki_Bridge_361F9939: warning: unclean shutdown - checking for stale subscriptions
[01/11/2021, 08:16:31] [Nuki] Nuki_Bridge_19FED791: warning: unclean shutdown - checking for stale subscriptions
[01/11/2021, 08:16:31] [Nuki] Nuki_Bridge_3579BA5B: warning: unclean shutdown - checking for stale subscriptions
[01/11/2021, 08:16:31] [Nuki] Nuki_Bridge_5E62B028: warning: unclean shutdown - checking for stale subscriptions
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_30112FD: remove stale subscription
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_3579BA5B: remove stale subscription
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_361F9939: remove stale subscription
[01/11/2021, 08:16:32] [Nuki] listening on http://0.0.0.0:40939/notify
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_5E62B028: subscribe to event notifications
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_19FED791: remove stale subscription
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_19FED791: subscribe to event notifications
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_5E62B028: error: too many callbacks registered
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_361F9939: subscribe to event notifications
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_30112FD: subscribe to event notifications
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_3579BA5B: subscribe to event notifications
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_5E62B028: set Last Updated from "Mon Nov 01 2021 08:16:18" to "Mon Nov 01 2021 08:16:31"
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_19FED791: set Last Updated from "Mon Nov 01 2021 08:16:19" to "Mon Nov 01 2021 08:16:32"
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_361F9939: set Last Updated from "Mon Nov 01 2021 08:16:18" to "Mon Nov 01 2021 08:16:31"
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_30112FD: set Last Updated from "Mon Nov 01 2021 08:16:19" to "Mon Nov 01 2021 08:16:32"
[01/11/2021, 08:16:32] [Nuki] Nuki_Bridge_3579BA5B: set Last Updated from "Mon Nov 01 2021 08:16:18" to "Mon Nov 01 2021 08:16:31"
[01/11/2021, 08:16:34] [Nuki] Nuki_Bridge_296BEDCC: request 1: GET /info
[01/11/2021, 08:16:34] [Nuki] Nuki_Bridge_296BEDCC: warning: request 1: error: connect EHOSTUNREACH 192.168.178.37:8080

Door Sensor Showing even if not existent

I just recently noticed, that the plugin is also showing a door sensor. I still have nuki version 1 without a sensor. Ist there some way to hide it manually?

The documentation states "The when present and configured, door sensor is exposed as separate Contact Sensor service, including Eve history.". Still it is showing up for me.

Deactivate doorbell ringing for Homepod

Besides of the smart lock I have the Nuki Opener. When someone is ringig, then the Homepod is ringing also -> 3 times. I cannot stop this, nor deactivating it in the homekit-settings. Is there a way to deactivate the ringing in the plugin?

Feature request: Add option to disable doorbell if RingToOpen is active

Hi,

it would be nice to have the option to suppress the doorbell ring if RTO is active.

Because coming home while the little one is asleep and opening the door with RTO will wake him up, as the doorbell is ringing.

To get inspiration on how to realize this, one may look at https://github.com/lukasroegner/homebridge-nuki as the option is present there.

Basically it creates a variable that indicates the active RTO and if the ringactionState is coming up true, then it just checks if RTO is active and supresses the ring. As soon as RTO is being disabled the variable is set to false again.

If I can assist in any way, please let me know.

Plugin port change upon restart

Hi,

Looks like the plugin port changes each time Homebridge restarts. The Nuki Bridge only supports 3 registered callback adresses, so each time the plugin changes its port a new callback registration is made. Once at 3 registrations the plugin fails to register with the following error messages:

subscribe to event notifications
error: too many callbacks registered

Any way to use a fixed port for the plugin which would remain the same upon restarts ?

Thanks.

Question to shutdown of homebridge (too many callbacks registered)

How is the right way to shutdown the HB, to prevent "too many callbacks registered"?

I Use a NUC/Win10/HomeAssistant/(Portainer)/(oznu/docker-homebridge).

When I reboot Home Assistant Host System in Supervisor with the build in "reboot" button, then I have an additional callback registered.

Also I tried to reboot in portainer with the reboot button the "oznu/docker-homebridge", then I have also an additional callback registered.

So what would be the preferred solution? Is there something to do in the "oznu/docker-homebridge" container or config, that portainer shutdown the oznu container in the right way?

Unable to obtain IP

Whenever I try to setup the Bridge I have problems with the IP address. It just tells me that it can't find the IPv4 address. Searching the internet didn't help much.

[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Serial Number to "xxx"
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Manufacturer to "Nuki Home Solutions GmbH"
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Model to "Bridge"
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Firmware Revision to "1.18.2"
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: Nuki Bridge v1.18.2 xxx at 192.168.2.100:8080
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Heartrate to 60 seconds
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Restart to false
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Log Level to 2
[2/13/2021, 16:18:52] [Nuki] Nuki_Bridge_B9FC91: set Status Fault to 0
[2/13/2021, 16:18:53] [Nuki] error: unhandled rejection: Error: cannot determine my IPv4 address
    at /usr/lib/node_modules/homebridge-nb/lib/NbListener.js:108:27
    at new Promise (<anonymous>)
    at NbListener.listen (/usr/lib/node_modules/homebridge-nb/lib/NbListener.js:103:12)
    at NbListener.addClient (/usr/lib/node_modules/homebridge-nb/lib/NbListener.js:131:16)
    at NbPlatform.addClient (/usr/lib/node_modules/homebridge-nb/lib/NbPlatform.js:227:26)
    at Bridge.init (/usr/lib/node_modules/homebridge-nb/lib/NbAccessory.js:145:52)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

No discovery, need manual config

Hi,

my bridge is not being discovered for some reason. I can run all HTTP requests manually, so I would like to configure the bridge manually, but I do not know what to enter in the config.

Could you help me out here?

Thank you so much!

[Question] Problem finding the Opener

Sadly I'm not able to find the Opener.
Thus far the Api is enabled and the Doorlock, Doorsensor and Nuki-bridge where found without any problem.
Could you advise something?

Major delay

The home app seems to reveive the information about my Nuki locks very late. I have an automation in the Home app who deactivate my alarm system when i open my door with Nuki. It take between 10 seconds to more than one minute for the Home app to deactivate this alarm system, so, sometimes, the siren turns on. The problem seems to come from the Nuki part because the Home app also shows me the notification that the door has been unlocked very late. But as soon as the notification shows, the alarm system is disabled almost immdiatly.
Here are some error messages that i have found in my logs :
[14/03/2021 à 15:11:58] [Nuki] Nuki_Bridge_19FED791: warning: request 4121: error: http status 503 Service Unavailable
[14/03/2021 à 15:11:58] [Nuki] Nuki_Bridge_19FED791: warning: heartbeat error: http status 503 Service Unavailable
Is there something i can do to reduce these delays?

Error characteristic "heartrate"

Hello,

I receiver this error when starting Homebridge beta 1.3.0.

[17.2.2021, 18:59:40] [homebridge-nb] This plugin threw an error from the characteristic 'Heartrate': Characteristic Property `maxValue` was set to 600, but for numeric format uint8 maximum possible is 255 See https://git.io/JtMGR for more info.

Reduce logging

Hi,
is there a way to reduce the logging of this messages:
image

All other messages are okay. But these come up every minute without any chance of status.

Ability to know which user open the Smart Lock

Hello,

I use this feature with IFTTT but maybe it can be implemented in your plugin.
I explain the case, in IFTTT you can create a trigger when a specific user open the Lock. For example the User Toto using Keypad to open the lock. And from what I have found for the moment, it's only possible to have it with IFTTT for the moment.

Having this kind of information can help making great scenario, for example if my kids is coming back to the house using the keypad, I can start music or a light etc.

Do you think is possible in the API? Having this information in Homekit with performant app like Controller?

Thanks

Error when starting Homebridge

When starting the Homebridge the following error appears from the plugin:
[homebridge-nb] This plugin threw an error from the characteristic 'Heartrate': Characteristic Property maxValue was set to 600, but for numeric format uint8 maximum possible is 255. See https://git.io/JtMGR for more info.

Error "Too many callbacks"

I have one of my 5 Nuki bridges who doesn't work anymore. I have looked at the logs and every minutes i have 3 errors messages :

[28/01/2022, 11:50:47] [Nuki] Nuki_Bridge_5E62B028: subscribe to event notifications
[28/01/2022, 11:50:47] [Nuki] Nuki_Bridge_3579BA5B: subscribe to event notifications
[28/01/2022, 11:50:47] [Nuki] Nuki_Bridge_361F9939: subscribe to event notifications
[28/01/2022, 11:50:47] [Nuki] Nuki_Bridge_361F9939: error: too many callbacks registered
[28/01/2022, 11:50:47] [Nuki] Nuki_Bridge_3579BA5B: error: too many callbacks registered
[28/01/2022, 11:50:47] [Nuki] Nuki_Bridge_5E62B028: error: too many callbacks registered

What can i do?

Doorbell not in Home App

Hello,

your Plugin just works fine. I have the opener and a smart lock.
In somebody rings the Doorbell I get a notification from the Home App. But I dont see the Doorbell in the Home App.
Thanks for your help 🙂

Not working Ring Suppression with the Opener

Hey there,

after updating to the newest Version I guess I have a problem regarding the opener.

It now always suppresses the (original) ring. May this problem be linked to the update?

And one request aside - is it possible to show the Ring as a Motion Sensor in HomeKit?

Best regards and thanks for the great plugin
Dominik

NB can't find bridge after factory reset

Hi Erik

First of all: Thank you for the hard work you do!

After I'v got the "too many callbacks registered - Error" I just did a factory reset of the bridge in order to get rid off it.

Now the bridge has a new ID but NB is still looking for a bridge with the old one. Here the error:
[3/21/2021, 1:02:57 PM] [Nuki] Bridge_11E24FBC: request 141: GET /auth
[3/21/2021, 1:02:57 PM] [Nuki] Bridge_11E24FBC: press Nuki bridge button to obtain token
[3/21/2021, 1:02:57 PM] [Nuki] warning: Bridge_11E24FBC: request 141: error: 192.168.1.3: timeout after 30 seconds
[3/21/2021, 1:02:57 PM] [Nuki] warning: 192.168.1.3: timeout after 30 seconds

IP and port are correct. Pressing the button has no effect. I'm running HB v1.3.4 on a docker container with the newest plugin version.

There seems to be no way to rename the bridge with the old name. Is there a way to fix this issue?

Best,
KuchenKavalier

Hide Device

Hey,

first off this is not really an issue I know.. I wanted to ask if it would be possible to implement an option to hide specific devices ?

Thanks and kind regards
Pascal

Some issue with the openers name

I get the following issue in the logs with version 1.2.2 on HB 1.3.8. Before my opener was called „Haustür“. Have tried to change to „Haustuer“ but issue persists. Bridge is found.

�[37m[12/21/2021, 1:59:58 AM] �[39m�[36m[Nuki]�[39m Nuki_Bridge_: set Last Updated from "Tue Dec 21 2021 01:59:37" to "Tue Dec 21 2021 02:00:36"

�[37m[12/21/2021, 1:59:58 AM] �[39m�[36m[Nuki]�[39m �[33mNuki_Bridge_39DC10EB: warning: heartbeat error: RangeError: : invalid name�[39m

�[33m�[0m�[90m at Opener.set name (/homebridge/node_modules/homebridge-nb/node_modules/homebridge-lib/lib/Delegate.js:108:13)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at Opener.set name [as name] (/homebridge/node_modules/homebridge-nb/node_modules/homebridge-lib/lib/AccessoryDelegate.js:130:16)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at new Delegate (/homebridge/node_modules/homebridge-nb/node_modules/homebridge-lib/lib/Delegate.js:38:15)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at new AccessoryDelegate (/homebridge/node_modules/homebridge-nb/node_modules/homebridge-lib/lib/AccessoryDelegate.js:45:5)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at new NbAccessory (/homebridge/node_modules/homebridge-nb/lib/NbAccessory.js:14:5)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at new Opener (/homebridge/node_modules/homebridge-nb/lib/NbAccessory.js:357:5)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at Bridge.addOpener (/homebridge/node_modules/homebridge-nb/lib/NbAccessory.js:214:24)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at Bridge.heartbeat (/homebridge/node_modules/homebridge-nb/lib/NbAccessory.js:265:22)�[39m�[33m�[0m�[39m

�[33m�[0m�[90m at processTicksAndRejections (internal/process/task_queues.js:95:5)�[39m�[33m�[0m�[39m

Changing IP error

Hello, after setting a static IP for the bridge, homebridge cannot reach it anymore because its trying to connect to old IP. How do if force this update by rediscovering?

No Notififcation

Hello,

your Plugin just works fine. Now I have the opener and a smart lock in HomeKit.
But when somebody rings the Doorbell I get not a notification from the Home App.
And were can i find the Doorbell in EVE?

Only 2 on 5 Nuki locks installed

I'm a newbie in Hombridge and i need some help.I have 5 Nuki locks that i try to install in Homebridge. So fat, i only managed to install 2 of them. Here are the errors in the logs :

[19/02/2021 à 22:33:30] [Nuki] warning: Bridge_3579BA5B: request 319: error: socket hang up
[19/02/2021 à 22:33:30] [Nuki] warning: socket hang up
[19/02/2021 à 22:33:30] [Nuki] Bridge_3579BA5B: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:30] [Nuki] Bridge_5E62B028: request 688: GET /auth
[19/02/2021 à 22:33:30] [Nuki] warning: Bridge_5E62B028: request 688: error: http status 503 Service Unavailable
[19/02/2021 à 22:33:30] [Nuki] warning: http status 503 Service Unavailable
[19/02/2021 à 22:33:30] [Nuki] Bridge_5E62B028: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:31] [Nuki] Bridge_5E62B028: request 689: GET /auth
[19/02/2021 à 22:33:31] [Nuki] warning: Bridge_5E62B028: request 689: error: http status 503 Service Unavailable
[19/02/2021 à 22:33:31] [Nuki] warning: http status 503 Service Unavailable
[19/02/2021 à 22:33:31] [Nuki] Bridge_5E62B028: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:31] [Nuki] Bridge_5E62B028: request 690: GET /auth
[19/02/2021 à 22:33:31] [Nuki] warning: Bridge_5E62B028: request 690: error: http status 503 Service Unavailable
[19/02/2021 à 22:33:31] [Nuki] warning: http status 503 Service Unavailable
[19/02/2021 à 22:33:31] [Nuki] Bridge_5E62B028: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:31] [Nuki] Bridge_5E62B028: request 691: GET /auth
[19/02/2021 à 22:33:31] [Nuki] warning: Bridge_5E62B028: request 691: error: http status 503 Service Unavailable
[19/02/2021 à 22:33:31] [Nuki] warning: http status 503 Service Unavailable
[19/02/2021 à 22:33:31] [Nuki] Bridge_5E62B028: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:33] [Nuki] Bridge_3579BA5B: request 501: GET /auth
[19/02/2021 à 22:33:33] [Nuki] warning: Bridge_3579BA5B: request 501: error: socket hang up
[19/02/2021 à 22:33:33] [Nuki] warning: socket hang up
[19/02/2021 à 22:33:33] [Nuki] Bridge_3579BA5B: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:33] [Nuki] Bridge_5E62B028: request 37: GET /auth
[19/02/2021 à 22:33:33] [Nuki] warning: Bridge_5E62B028: request 37: error: socket hang up
[19/02/2021 à 22:33:33] [Nuki] warning: socket hang up
[19/02/2021 à 22:33:33] [Nuki] Bridge_5E62B028: press Nuki bridge button to obtain token
[19/02/2021 à 22:33:35] [Nuki] Bridge_3579BA5B: request 320: GET /auth

That repeats itself indefinitely. Pressing the button on the Nuki bridge doesn't do anything.
Also when Homebridge is running it messes with the Nuki app ans the Nuki web portal. Most of the times, those locks are shown as offline. As soon as i quit Homebridge, those locks appears again on the Nuki app and the Nuki web portal.
I'm on a raspberry Pi. Before that, i tried to install Hoomebridge and the Nuki plugin on a Mac and everything was working OK there. Is that a problem that i have install Homebridge on 2 diferents devices?

Doorbell isn’t Ringing on Homepods

I have multiple HomePods and a Nuki Opener which is connected over Nuki Bridge and Homebridge.
Everything is updated to newest version (Homebridge, NB plugin, HomePods {15.3})
In eve app i can see Doorbell is enabled and gets an new timestamp on Last Updated if someone is ringing. But the HomePods aren’t ringing.
If I tap on the endabled switch my Homebridge log says:
[28/01/2022, 12:05:09] [Nuki] Flur Opener: Enabled changed from true to false
[28/01/2022, 12:06:43] [Nuki] Flur Opener: Enabled changed from false to true

In my home app under settings/doorbell i also can’t see the Nuki opener.

Please help ;) i loved this feature

Bridge IP address cached / unset after DHCP subnet change (0.0.0.0)

I recently switched over my local DHCP server's subnet from 192.168.0. to 10.0.0.. I've removed the stale callback in the callback list, but nb discover always returns an IP address of 0.0.0.0 for the Bridge. The Bridge settings in the Nuki app correctly shows the static IP address I assigned it (10.0.0.7).

Is this a Bridge issue? Do I need to factory reset it? Or is there some other way to force the IP of the Bridge in homebridge-nb?

Homebridge Log:

[2/3/2021, 11:47:15 AM] [Nuki] Nuki_Bridge_XXXXXXXXX: warning: request 1: error: 0.0.0.0:8080: cannot connect: ECONNREFUSED
[2/3/2021, 11:47:15 AM] [Nuki] error: unhandled rejection: Error: connect ECONNREFUSED 0.0.0.0:8080
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.