Homey Community Forum

[APP] Nuki Bridge Api (not in app store)

Thanks,
these error 503 prevent me from using your nuki actioner,

So i use the original nuki app, but the status sync with Homey takes about a minut, about twice longer than the original athom nuki app
any chance to have this speed up?

Don’t know, my reaction time is almost instant and that seems to be the case for other users using my version as well. So I guess it must be something related to your network.

2 Likes

Is the Opener supported?

The opener is not added to the api yet. You can request this on the developer forum from Nuki.

I have an issue with pairing your app to Nuki bridge:

1st time: request tot http://192.168.2.13:8080/auth failed; reason connect ECONNREFUSED 192.168.2.13:8080
2e time: "Network timeout: request to [http://192.168.2.13:8080/list?token=specifictokenid]

During paring with the nuki bridge i received the errors. And also no window to put a password in.
I`m running your nuki app v 1.03 and the latest nuki fimware 2.6.3.
The Athom Nuki app is also installed and worked. I did not uninstall it only made it inactive.
I have the Nuki v2

Have you tried it with the official Homey app disabled. The bridge is not the fastest piece of hardware. Looking at the errors it could be it does not respond in time to the request needed for pairing with my app.

Yes i also de-installed it and rebooted the homey. Also powercycled the Nuki bridge. Same issue. WIFI connection is perfect for both devices. (i can see this on my Unifi controller)

Did you push the button on the bridge during discovery as mentioned in the instructions?

Yes otherwise no device is discovered.

Well, I don’t know what is going on. I can explain how the pairing process works. Perhaps that gives you clues about where it falls.

  1. Call https://api.nuki.io/discover/bridges. This will return all bridges connected on that IP.
  2. For every found bridge it will first call the /auth endpoint. This enables the api (if not yet enabled) and returns the api token.
  3. It will then call the /list endpoint using the token retrieved from step 2 to get the details from the bridge
  4. With the details from the /list endpoint the device array is built

The errors you receive (ECONNREFUSED and Network timeout) indicate some sort of network issue. What you could do if you have the technical knowledge is try these steps manually using something like Postman and see if that gives more information as to why these requests fail.

Thank you for the information. I will try it with postman.
One question: does the communication between the Nuki and Homey also use bluetooth? Or only ip?

Only IP and it only communicates with the Nuki bridge, not with the lock directly.

I have tested it and within postman i’am able to pair and communicate/receive nukiID and state etc.
When adding the device using your app the error keeps coming back. The ip and token are correct.
Any idea? Caching something? Maybe reinstall your app?

I have no idea unfortunately, I dont think caching is the issue. It could very well be something else with my app but I would have thought that other users would have experienced this same issue before. I’m afraid I can not help you further and you are stuck with the official app store app.

1.1.0 - 2019-11-11

  • Changed endpoint from /lockState to /list for polling the lock. The /list endpoints gets the cached state from the lock and using this will spare the batteries of the lock
  • Added the alarm_battery capability and deprecated the previous “Battery Critical” trigger card. Please switch to the default “Battery Alarm” trigger card as the old one does not work anymore

v1.1.1 - 2019-11-17

Fix for alarm_battery capability due to a bug in Homey core

v1.1.2 - 2019-12-04

Fixed custom condition card for (un)locked but also deprecated it as it’s a duplicate of the default condition cards for the locked capability

Hi,

I’m eager to try this solution, simply because I think the delay time for detecting changes in the official app is way too long. I followed installation instructions and had no issues/errors at all.

I disabled the official app. When I want to add the Nuki device, I get this error. Any idea?

Interesting. That would suggest the Nuki cloud returns an unexpected result. Upon pairing my app connects to the Nuki cloud to discover the bridge (it’s the only time the cloud is needed).

What happens if you call this URL from a device within the same network as your Nuki bridge?

https://api.nuki.io/discover/bridges

After looking through your source code, I immediately called that endpoint and noticed it is missing the ip property, resulting in undefined of course… interesting. I’ll check my Nuki account if I can find a reason there

image