NUKI Hub firmware for the ESP32

You can safely reduce the three “Query interval” settings to reduce the battery drain. Especially lock state should update automatically.

Hi all,

@technyon can you please tell me if i can use your solution with the Nuki 3.0 Pro without loosing the Wifi with my Nuki Official app (for my wife as well) and use Home Assitant too ?

If it’s possible, can i use ESP32 ESP-WROOM-32 WiFi Bluetooth and W5500 ?

Thanks

The official app works just fine alongside nuki hub. The only thing that’s not recommended is to run the NUKI bridge in parallel with NUKI Hub, but since you’re using a Pro lock I don’t think that’s the case for you.

NUKI Hub communicates with the lock over bluetooth. If you connect your ESP to wired ethernet via a W5500 module, Wifi on the ESP is disabled as it’s not needed.

Thanks for your answer, and if i would like to use without w5500, it will be working ?

I confirm, i do not use a Nuki Bridge.

Thanks

Of course then it connects via Wifi

1 Like

I have reset my esp32, removed it from HA and then include it again. HA discovery found nuki hub and all associated topics but one : nuki/lock/doorSensorState. However, if I listen this topic, I receive the state (doorClosed for example). Before the reset, this attribute was “discovered” as the others ones. What I am missing this time ?

Screenshot_20230203_201717

Can this be paired to (GitHub - kvj/hass_nuki_ng: Better support for Nuki devices in the Home Assistant)? It ask for bridge api, idk if theres something the hub can provide me to make it work
Also ive seen some of the screenshot users have shared here, and it seems like all of them show 100% in battery level, my Nuki Smart Lock 2.0 is stuck at 100 since I replaced them more than 6 months ago, with the Energizer Ultimate (recommended by Nuki themself), I reached Nuki and they didn’t help other than advising me to reset the lock, which did nothing, is this a known issue for this smarlocks them?

No, Nuki Hub does not support the Bridge API, it integrates with HA via MQTT. There is no need for a custom integration.

1 Like

I am still (after weeks!) freaking out trying to connect my Nuki Hub with my HA MQTT. All data set at /mqttconfig? is 100% correct. Using the same data trying to connect from other MQTT clients works just fine.

Mosquitto broker log for the Nuki Hub (192.168.1.98):

2023-02-05 18:30:58: Client <unknown> disconnected due to protocol error.
2023-02-05 18:31:03: New connection from 192.168.1.98:55367 on port 1883.
2023-02-05 18:31:03: Client <unknown> disconnected due to protocol error.
2023-02-05 18:31:09: New connection from 192.168.1.98:55368 on port 1883.
2023-02-05 18:31:09: Client <unknown> disconnected due to protocol error.
2023-02-05 18:31:14: New connection from 192.168.1.98:55369 on port 1883.
2023-02-05 18:31:14: Client <unknown> disconnected due to protocol error.
2023-02-05 18:31:19: New connection from 192.168.1.98:55370 on port 1883.
2023-02-05 18:31:19: Client <unknown> disconnected due to protocol error.

Connecting with MQTT Explorer is just fine:

2023-02-05 18:32:55: New client connected from 192.168.1.104:57101 as mqtt-explorer-8ea125cb (p2, c1, k60, u'username_mqtt').

Because of…

Client <unknown> disconnected due to protocol error

…there’s:

For anyone not wanting to go to the GitHub issue: The hostname field contained a character not allowed in a DNS label.

The default Nuki config settings seem to have changed:

1st Nuki Hub (installed with 6.x firmware few weeks ago):

2nd Nuki Hub (installed with 8.4 firmware today):

I was wondering which values are the recommended one.

In case there was a decision for the new ones in the 8.x releases, I tend to set the 1st ESP to the same settings.


Update:
As I noticed the 2nd ESP went like crazy in terms of messages (after only roughly one hour being connected to the MQTT broker), I set the same values as for the 1st one. Hopefully it won’t be that chatty anymore.

1st ESP above, 2nd below:
grafik

Probably a bug in the new firmware?

1 Like

The query interval configuration should be set to something like an hour (or more) as well. Strangely, on my updated device it is set to 3600 seconds (which was the previous hardcoded default).

Is there anyway to be able to get the data from the door sensor?

If it is paired with the lock, it should automatically be included, yes.

I have it paired with the lock

But it doesn’t shows up, I only get this:

I even tried getting it through yaml:
Sin título
But still nothing

The payloads are wrong, it should look like something like this (already in the new mqtt domain):

mqtt:
  binary_sensor:
    - name: mqtt_lock_door_test
      state_topic: "nuki/lock/doorSensorState"
      value_template: "{{ value }}"
      payload_on: "doorOpened"
      payload_off: "doorClosed"
      device_class: "door"
      qos: 1
      unique_id: mqtt_lock_door_test_unique

After 24 hours of using two Nuki Hubs I have two issues:

  1. KeePad (2.0) not showing up. What is needed on the configuration side for this? Only found the tick box for the Nuki Opener.
kpInterval: 1800
kpEnabled: false
  1. Every now and then (okay, 2 times per Nuki Hub) the device goes offline (looses WiFi connection) - and NEVER comes back, not even after two or more hours. Only discovered as trying to control the locks is doing nothing anymore. What are the recommended network settings for this? For now I only gave the tick box a try:

Keypad 2.0 is currently unsupported due to Nuki bug/missing documentation.

Thanks for sharing. Will monitor that topic, hopefully it will be possible shortly.

What about recommended network settings to get a constant WiFi connection?
(#2 from NUKI Hub firmware for the ESP32 - #224 by e-raser)?

According to mundschenk-at and to my own experience, it is not necessary to create manually the binary_sensor before. But may be something changed in the latest versions because me too, after to reset my esp and re-flashed it, I have no more this sensor automatically created.