Home Assistant Integration Status

Hi community,

I’m in the market for a new smart lock, and Nuki caught my attention. However, having a reliable Home Asisstant integration is very important to me, as we already have lots of different smart items around the home and I dont want members of my household to have to use a dozen different apps, one for every device… Besides, I simply love all the smart automation stuff HA provides, so I have resolved to not buy any new “smart” stuff which does integrate well with HA.

Now I understand that while Nuki has both a local and a web API with good documentation (great!), there is no official HA support, and the HA integration(s) are done by the community. This is fair enough, it’s their business decision, however I am a bit put off by some of the existing HA threads here on the forum, with little or no replies, no reactions at all from the devs etc… This has me worried a bit.

So what I am looking for is some experience of Nuki users that are running a HA integration, or have tried it. Which one are you using, how reliable is it, does it offer good functionality, would you recommend it etc… In particular I am looking for the door status, battery status, ring events, unlocking the door remotely etc…

Would be interested to hear from you! Thanks!


I use the native Home Assistant integration.
Unfortunately it uses polling, so battery draining and less efficient.
So I created a webhook the Nuki bridge calls on each events and disabled polling in the integration settings.
I used this blueprint for the webhook: Add local push capability to Nuki lock integration - Blueprints Exchange - Home Assistant Community

Battery status is not reported as percentage but as critical or not.
I don’t have an opener, unlocking remotely works and door status is reported.
To be sure all is clear, the smart lock 3.0 pro is not compatible by itself, a Nuki bridge is required.

1 Like

Hello Patrick!
Thank you for sharing your findings and experiences! I believe I even stumbled upon your thread during my research :slight_smile:
Battery percentage would be nice, but I can certainly live with OK/Critical state reporting, so no problems there.

Very reassuring to hear that at least the basic functionality works in a stable way, I learned the hard way that this is not always the case even if manufacturers claim they have an “open API”.

I would be going for the full package lock/bridge/opener as I dont want/need a wifi device powered by battery, so compatibility should be OK.

Thanks again!

PS: I read your profile, and you have made me understand that smart home is not just something for bored nerds with too much money, but can be a critical part in enabling a good and self-determined life. Kudos and respect to you sir! :muscle:

1 Like

Hi @Nardol @mm77 ,

I do also use Nuki (both Opener and Lock 2.0) with by beloved HA integration. As previously mentioned I do also not use the integration feature but rather talk to the API(s) directly.

I created a sensor in HA, that reads the SmartLocks battery level via the BridgeAPI once a day (should be sufficient and not power-draining). As there is no direct request for the battery level you have to use the /list command of the BridgeAPI to receive a JSON with all the information of the given LockID. With a value_template in HA you can filter out the battery level value and use it as % of the sensor. The implementation in the configuration.yaml looks something like:

  - platform: rest
    resource: http://BRIDGE-IP:PORT/list?nukiId=LockID&deviceType=0&token=XXXXXXX
    name: Nuki Batterie
    unit_of_measurement: "%"
    value_template: "{{ value_json[0]['lastKnownState']['batteryChargeState'] }}"
    scan_interval: 86400

This will create you the described sensor which you can use for automations, e.g. to notify you or do other tasks based on the battery level. I mainly use it because the notification of Nuki itself for low battery was not reliable enough, or rather the notification level was too low for my lock to still work.

More stuff
As I also use the opener I tried to make use of the doorbell suppression feature in some automations. Reason for that is that our mailboxes are inside, hence postmen just ring everywhere until someone lets them in. Especially in the early morning. So I did some automations to toggle/untoggle the bell suppression, depending on different weekdays, so I don’t wake up at 7 in the morning. Best thing ever happened to me :smiley:


/list outputs the state of all connected actuators (Smart Lock, Opener) as they are stored inside the bridge. It does not generate a BLE command to the Smart Lock and therefore does not drain the battery at all.

Yes, that is totally true - I just wanted to add it, because I was not sure if @mm77 uses the Bridge or talks to the lock directly.


I now use an unofficial Home Assistant integration for Nuki: GitHub - kvj/hass_nuki_ng: Better support for Nuki devices in the Home Assistant

In my opinion it is better because:

  • It use a callback from the Bridge so no more polling;
  • If desired, it is also possible to use Nuki web to manage authorisations

In fact, both API are used with each advantage it offers.
If only bridge API is needed, it is possible to only configure bridge token and same if you only want to use Nuki web.

The only function I found missing compared to the official documentation is the inability to use Lock’n’Go.

Is it possible to add 2 or more locks on one door? Can’t find confirmation for that. Need to open / close two locks on my door simultaneously. And how the Nuki app handles two locks itself? For lock’n’go and so on

Hi, what’s the integration state of the Nuki 3.0 Pro locks?

status query ok
battery query ok
opening and closing doesn’t work… :frowning:

Failed to call lock/unlock service. Http response for https://api.nuki.io/smartlock/xxxxxxxxxx/action: 404 Not Found

Nuki 3 pro

My 3.0 Pro via Home Assistant has not been working for a few days.

I can operate it normally via the Nuki app. But via Home Assistant I get a 404

In this case, why you did not provide a graph history of battery ?
It will be really useful to predict when to change the battery on remote location, and not wait the last time “20%” warning because we do not go to the remote location of smartlock at this time…

I also monitor battery myself to have more useful data.
% curl -s -X GET --header ‘Accept: application/json’ --header ‘Authorization: Bearer APIKEY’ ‘https://api.nuki.io/smartlock/’ | jq .state.batteryCharge

It should be easy to add in your web or app…

Maybe because not enough people asked for it … Feel free to add a feature request and start collecting votes for it.