This module builds an ESPHome lock platform for Nuki Smartlock (nuki_lock) that creates 6 new entities in Home Assistant:
The lock entity is updated whenever the look changes state (via Nuki App, HA, or manually) using Nuki BT advertisement mechanism.
Add the following to the ESPHome yaml file:
esphome:
libraries:
- Preferences
- https://github.com/h2zero/NimBLE-Arduino
- Crc16
- https://github.com/uriyacovy/NukiBleEsp32
external_components:
- source: github://uriyacovy/ESPHome_nuki_lock
esp32:
board: "esp32dev" # Or whatever other board you're using
framework:
type: arduino
version: 2.0.16
platform_version: 6.7.0
lock:
# Required:
- platform: nuki_lock
name: Nuki Lock
is_connected:
name: "Nuki Connected"
is_paired:
name: "Nuki Paired"
# Optional:
battery_critical:
name: "Nuki Battery Critical"
battery_level:
name: "Nuki Battery Level"
door_sensor:
name: "Nuki Door Sensor"
door_sensor_state:
name: "Nuki Door Sensor State"
After running ESPHome (esphome run
To unlatch doors without a handle, call open service from Home Assistant:
service: lock.open
data: {}
target:
entity_id: lock.<NODE_NAME>
To run lock and go, call this service from Home Assistant:
service: esphome.<NODE_NAME>_lock_n_go
data: {}
To unpair Nuki, add the following to ESPHome yaml file below platform: nuki_lock
section and run ESPHome again:
unpair: true
The module depends on the work done by I-Connect, https://github.com/I-Connect/NukiBleEsp32