Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
N

nuki_hub

> 编程语言
Open source

Use an ESP32 as a Hub between a NUKI Lock and your smarthome.

725 stars0 likes1 views
WebsiteGitHub

About

Use an ESP32 as a Hub between a NUKI Lock and your smarthome.

About

The scope of Nuki Hub is to have an efficient way to integrate Nuki devices in a local Home Automation platform.

The Nuki Hub software runs on a ESP32 module and acts as a bridge between Nuki devices and a Home Automation platform.

It communicates with a Nuki Lock and/or Opener through Bluetooth (BLE) and uses MQTT to integrate with other systems.

It exposes the lock state (and much more) through MQTT and allows executing commands like locking and unlocking as well as changing the Nuki Lock/Opener configuration through MQTT.

Nuki Hub does not integrate with the Nuki mobile app, it can't register itself as a bridge in the official Nuki mobile app.

Feel free to join us on Discord: https://discord.gg/9nPq85bP4p

Supported devices

Supported ESP32 devices:

  • Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.5.1 and Arduino Core 3.3.5.
  • Tested stable builds are provided for the ESP32, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-C61 module and ESP32-H2.
  • A build for ESP32-P4 with the ESP32-C6 is provided but has stability issues, and is not recommended
  • Untested builds are provided for the ESP32-Solo1 and ESP32-P4 with the ESP32-C5 module (as the developers don't own these devices).

Not supported ESP32 devices:

  • The ESP32-S2 has no built-in BLE and as such can't run Nuki Hub.

Supported Nuki devices:

  • Nuki Smart Lock 1.0
  • Nuki Smart Lock 2.0
  • Nuki Smart Lock 3.0
  • Nuki Smart Lock 3.0 Pro
  • Nuki Smart Lock 4.0
  • Nuki Smart Lock 4.0 Pro
  • Nuki Smart Lock Go
  • Nuki Smart Lock 5.0 Pro
  • Nuki Smart Lock Ultra
  • Nuki Opener
  • Nuki Keypad 1.0
  • Nuki Keypad 2.0

Supported Ethernet devices:

As an alternative to Wi-Fi (which is available on any supported ESP32), the following ESP32 modules with built-in wired ethernet are supported:

  • Olimex ESP32-POE
  • Olimex ESP32-POE-ISO
  • WT32-ETH01
  • M5Stack Atom POE
  • M5Stack PoESP32 Unit
  • LilyGO-T-ETH-POE
  • LilyGO-T-ETH-Lite
  • LilyGO-T-ETH-Lite-ESP32S3
  • LilyGO-T-ETH ELite
  • GL-S10 (Revisions 2.1, 2.3 / 1.0 might not be supported)
  • Waveshare ESP32-S3-ETH / ESP32-S3-POE-ETH
  • Waveshare ESP32-P4-NANO
  • Waveshare ESP32-P4-Module-DEV-KIT
  • Espressif ESP32-P4-Function-EV-Board

In principle all ESP32 (and variants) devices with built-in ethernet port are supported, but might require additional setup using the "Custom LAN setup" option. See the "Connecting via Ethernet" section for more information.

Recommended ESP32 devices

We don't recommend using the original ESP32 or ESP32-Solo1 devices because these devices experience unexpected crashes related to the (closed-source) BLE controller.

In newer models (e.g. ESP32-S3, ESP32-P4, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-C61, ESP32-H2) these unexpected crashed are seen a lot less.

When buying a new device in 2025 we recommend the ESP32-P4 or ESP32-S3 with PSRAM (look for an ESP32-S3 with the designation N>=4 and R>=2 such as an ESP32-S3 N16R8).

The ESP32-P4 with ESP32-C6 or ESP32-C5 module for BLE/WiFi is the most powerfull ESP32 in 2025. It supports anything the ESP32 range has to offer with the highest CPU clocks, largest flash and PSRAM, Ethernet, PoE and WiFi6 (and 5 GHZ WiFi with the C5 as co-processor).

The ESP32-S3 is a dual-core CPU with many GPIO's, ability to enlarge RAM using PSRAM, ability to connect Ethernet modules over SPI and optionally power the device with a PoE splitter.

The only functions missing from the ESP32-S3 as compared to other ESP devices is the ability to use some Ethernet modules only supported by the original ESP32 (and ESP32-P4) and the ability to connect over WIFI6 (C5, C6 or ESP32-P4 with C6/C5 module)

The ESP32-C5 with PSRAM is a good option providing higher clockspeeds than the C6 and adding PSRAM and WIFI 6 on the 5 Ghz band support. The ESP32-C61 with PSRAM adds PSRAM compared to the C6.

Nuki Hub uses both CPU cores (if available) to process tasks (e.g. HTTP server/MQTT client/BLE scanner/BLE client) and thus runs better on dual-core devices.

Other considerations:

  • If Ethernet/PoE is required: ESP32-P4 with ESP32-C6 or ESP32-C5 module or ESP32-S3 with PSRAM in combination with a SPI Ethernet module (W5500) and PoE to Ethernet and USB type B/C splitter or the LilyGO-T-ETH ELite, LilyGO-T-ETH-Lite-ESP32S3 or M5stack Atom S3R with the M5stack AtomPoe W5500 module
  • If WIFI6 is required: ESP32-P4 with ESP32-C6 or ESP32-C5 module, ESP32-C5, ESP32-C6 or ESP32-C61

Recommended devices ranked best-to-worst:

  • ESP32-P4 with ESP32-C5 module (UNTESTED)
  • ESP32-P4 with ESP32-C6 module
  • ESP32-S3 with PSRAM
  • ESP32-C5 with PSRAM
  • ESP32-C61 with PSRAM
  • ESP32-S3 without PSRAM
  • ESP32-C5 without PSRAM
  • ESP32-C61 without PSRAM
  • ESP32-C6

Not recommended devices ranked least-worst-to-worst:

  • ESP32 with PSRAM
  • ESP32 without PSRAM
  • ESP32-solo1
  • ESP32-C3
  • ESP32-H2

Feature comparison

Feature comparison Nuki Hub vs. Nuki Bridge

Feature Nuki Hub Nuki Bridge
Smart Lock/Opener (remote) control :white_check_mark: :white_check_mark:
MQTT :white_check_mark: :no_entry:
Wired LAN support, optionally with Power over Ethernet (PoE) :white_check_mark: :no_entry:
Smart Home (e.g. Home Assistant) integration :white_check_mark: :white_check_mark: (limited)
Cloud support :white_check_mark: (optional through smarthome solution) :white_check_mark:
Cloud-less operation :white_check_mark: :white_check_mark:
Nuki Keypad (1.0 and 2.0) support :white_check_mark: :white_check_mark:
Control via GPIO :white_check_mark: :no_entry:
Hybrid mode for WiFI and Thread connected locks :white_check_mark: :no_entry:

Feature comparison Nuki Hub vs. Nuki official MQTT API over WiFi/Thread (Smart Lock >=3.0 Pro)

Feature Nuki Hub Nuki official MQTT API
Smart Lock (remote) control :white_check_mark: :white_check_mark:
Opener support :white_check_mark: :no_entry:
Optional MQTT SSL support :white_check_mark: :no_entry:
Wired LAN support, optionally with Power over Ethernet (PoE) :white_check_mark: :no_entry:
Smart Home (e.g. Home Assistant) integration :white_check_mark: :white_check_mark: (limited)
Cloud support :white_check_mark: (optional through smarthome solution) :white_check_mark: (optional through smarthome solution)
Cloud-less operation :white_check_mark: :white_check_mark: (limited)
Nuki Keypad (1.0 and 2.0) support :white_check_mark: :white_check_mark: (limited)
Control via GPIO :white_check_mark: :no_entry:
Hybrid mode combining Bluetooth and WiFi/Thread :white_check_mark: :no_entry:
Feature parity with the Nuki app (e.g. changing device settings, keypad codes, authorizations etc.) :white_check_mark: :no_entry:

Support Nuki Hub development

This project is free to use for everyone. However if you feel like donating, you can buy me a coffee at ko-fi.com: If you plan to buy NUKI hardware, you can use my referral code to earn a 10% discount. It allows the project to team to buy further NUKI hardware for testing:

REF-jrQ31VPE6O

First time installation

Flash the firmware to an ESP32. The easiest way to install is to use the web installer using a compatible browser like Chrome/Opera/Edge:

https://technyon.github.io/nuki_hub/

Alternatively download the latest release for your ESP32 model from https://github.com/technyon/nuki_hub/releases

Unpack the zip archive and read the included how-to-flash.txt for installation instructions for either "Espressif Flash Download Tools" or "esptool".

Initial setup (Network and MQTT)

Power up the ESP32 and a new Wi-Fi access point named "NukiHub" should appear.

The password of the access point is "NukiHubESP32".

Connect a client device to this access point and in a browser navigate to "http://192.168.4.1".

Use the web interface to connect the ESP to your preferred Wi-Fi network.

After configuring Wi-Fi, the ESP should automatically connect to your network.

To configure the connection to the MQTT broker, first connect your client device to the same Wi-Fi network the ESP32 is connected to.

In a browser navigate to the IP address assigned to the ESP32 via DHCP (often found in the web interface of your internet router) or static IP.

Next click on "MQTT Configuration" and enter the address and port (usually 1883) of your MQTT broker and a username and password if required by your MQTT broker.

The firmware supports SSL encryption for MQTT.

See the "MQTT Encryption" section of this README.

Pairing with a Nuki Lock (1.0-4.0) or Opener

Make sure "Bluetooth pairing" is enabled for the Nuki device by enabling this setting in the official Nuki App in "Settings" > "Features & Configuration" > "Button and LED". After enabling the setting press the button on the Nuki device for a few seconds.

Pairing should be automatic whenever the ESP32 is powered on and no lock is paired.

To pair with an opener you need to first enable the opener on the "Nuki configuration" page of Nuki Hub.

When pairing is successful, the web interface should show "Paired: Yes".

MQTT nodes like lock state and battery level should now reflect the reported values from the lock.

Note: It is possible to run Nuki Hub alongside a Nuki Bridge. This is not recommended (unless when using hybrid mode) and will lead to excessive battery drain and can lead to either device missing updates. Enable "Register as app" before pairing to allow this. Otherwise the Bridge will be unregistered when pairing the Nuki Hub.

Pairing with a Nuki Lock Ultra / Nuki Lock Go / Nuki Lock 5th gen Pro

Make sure "Bluetooth pairing" is enabled for the Nuki device by enabling this setting in the official Nuki App in "Settings" > "Features & Configuration" > "Button and LED".

Before enabling pairing mode using the button on the Nuki Lock Ultra / Nuki Lock Go / Nuki Lock 5th gen Pro first setup Nuki Hub as follows:

  • Enable both "Nuki Smartlock enabled" and "Nuki Smartlock Ultra/Go/5th gen enabled" settings on the "Basic Nuki Configuration" page and Save. Setting the "Nuki Smartlock Ultra/Go/5th gen enabled" will change multiple other NukiHub settings.
  • Input your 6-digit Nuki Lock Ultra/Go/5th gen PIN on the "Credentials" page and Save
  • Press the button on the Nuki device for a few seconds until the LED ring lights up and remains lit.
  • It is strongly recommended(/mandatory) to setup and enable Hybrid mode over Thread/WiFi + official MQTT as Nuki Hub works best in Hybrid or Bridge mode and the Ultra/Go/5th gen Pro does not support Bridge mode

When pairing is successful, the web interface should show "Paired: Yes".

Hybrid mode

Hybrid mode allows you to use the official Nuki MQTT implementation on a Nuki Lock 3.0 Pro, Nuki Lock 4.0, Nuki Lock 4.0 Pro, Nuki Lock 5.0 Pro, Nuki Lock Go or Nuki Lock Ultra in conjunction with Nuki Hub.

See hybrid mode

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++bluetoothbluetooth-low-energycmakecpp

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言