Connection Nuki Ultra to HA over Matter

Hi, I’m trying to get a connection from Nuki over Matter to Home Assistant. The Home Assistant is installed on a NUC in a Proxmox VM. The Thread network is established over a Sonoff Zigbee Dongle-E with the newest Thread firmware (darkxst). The OTBR with activated NAT64/deactivated hardware flow control and Matter Server are running without errors, or at least I don’t see any critical errors.
My device registration chain:

  • Nuki App: Push activation button in Smart Home/Matter → ‘scan code’ message appears
  • HA App: Add new device/Matter in devices / devices and services → pushing ‘No. New device’ → scanning QR code from the card.

Then the Nuki lock blinks for a while. Afterward, an error appears stating that a Matter bridge is needed.

I have no idea what could be wrong. Any clues?

OTRB

[21:02:28] INFO: otbr-agent exited with code 0 (by signal 0).
Chain OTBR_FORWARD_INGRESS (0 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere             PKTTYPE = unicast
DROP       all  --  anywhere             anywhere             match-set otbr-ingress-deny-src src
ACCEPT     all  --  anywhere             anywhere             match-set otbr-ingress-allow-dst dst
DROP       all  --  anywhere             anywhere             PKTTYPE = unicast
ACCEPT     all  --  anywhere             anywhere            
otbr-ingress-deny-src
otbr-ingress-deny-src-swap
otbr-ingress-allow-dst
otbr-ingress-allow-dst-swap
Chain OTBR_FORWARD_EGRESS (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
[21:02:28] INFO: OTBR firewall teardown completed.
s6-rc: info: service otbr-agent successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service universal-silabs-flasher: stopping
s6-rc: info: service mdns: stopping
Default: mDNSResponder (Engineering Build) (Jan 14 2025 21:04:03) stopping
s6-rc: info: service universal-silabs-flasher successfully stopped
s6-rc: info: service banner: stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
[21:02:28] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped
[21:02:32] INFO: The otbr-web is disabled.
s6-rc: info: service mdns: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service mdns successfully started
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service banner: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
[21:02:32] INFO: Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Jan 14 2025 21:04:03) starting
-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.13.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 14.2  (amd64 / qemux86-64)
 Home Assistant Core: 2025.1.4
 Home Assistant Supervisor: 2024.12.3
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[21:02:33] INFO: Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[21:02:33] INFO: Setup OTBR firewall...
[21:02:33] INFO: Starting otbr-agent...
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyUSB0?uart-baudrate=460800&uart-init-deassert
[NOTE]-AGENT---: Radio URL: trel://enp0s18
[NOTE]-ILS-----: Infra link selected: enp0s18
49d.19:59:43.112 [C] P-SpinelDrive-: Software reset co-processor successfully
00:00:00.051 [N] RoutingManager: BR ULA prefix: fd3e:67df:7d6f::/48 (loaded)
00:00:00.051 [N] RoutingManager: Local on-link prefix: fd69:f948:dd94:2f03::/64
00:00:00.092 [N] Mle-----------: Role disabled -> detached
00:00:00.107 [N] P-Netif-------: Changing interface state to up.
00:00:00.118 [W] P-Netif-------: Failed to process request#2: No such process
00:00:00.119 [W] P-Netif-------: Failed to process request#6: No such process
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-configure: starting
[21:02:34] INFO: Enabling NAT64.
00:00:00.360 [W] P-Netif-------: Failed to process request#7: No such process
Done
Done
00:00:00.368 [W] P-Daemon------: Failed to write CLI output: Broken pipe
Done
00:00:00.374 [W] P-Daemon------: Failed to write CLI output: Broken pipe
s6-rc: info: service otbr-agent-configure successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
[21:02:34] INFO: Successfully sent discovery information to Home Assistant.
s6-rc: info: service otbr-agent-rest-discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
00:00:26.659 [N] Mle-----------: RLOC16 4800 -> fffe
00:00:26.936 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
00:00:33.436 [N] RouterTable---: Allocate router id 18
00:00:33.436 [N] Mle-----------: RLOC16 fffe -> 4800
00:00:33.439 [N] Mle-----------: Role detached -> leader
00:00:33.440 [N] Mle-----------: Partition ID 0x4e5cc627
[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!
00:00:34.765 [W] DuaManager----: Failed to perform next registration: NotFound

Matter Server

s6-rc: info: service matter-server successfully stopped
s6-rc: info: service banner: stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service banner: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
-----------------------------------------------------------
 Add-on: Matter Server
 Matter WebSocket Server for Home Assistant Matter support.
-----------------------------------------------------------
 Add-on version: 7.0.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 14.2  (amd64 / qemux86-64)
 Home Assistant Core: 2025.1.4
 Home Assistant Supervisor: 2024.12.3
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service matter-server: starting
s6-rc: info: service matter-server successfully started
s6-rc: info: service legacy-services: starting
[21:06:30] INFO: Starting Matter Server...
s6-rc: info: service legacy-services successfully started
[21:06:31] INFO: Using 'enp0s18' as primary network interface.
[21:06:31] INFO: Successfully send discovery information to Home Assistant.
2025-02-04 21:06:34.423 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Logging...
2025-02-04 21:06:34.423 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Controller Stack...
[1738699594.460502][117:117] CHIP:CTL: Setting attestation nonce to random value
[1738699594.460924][117:117] CHIP:CTL: Setting CSR nonce to random value
[1738699594.462151][117:117] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
[1738699594.466133][117:117] CHIP:DL: Wrote settings to /tmp/chip_kvs
[1738699594.466464][117:117] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_factory.ini
[1738699594.466611][117:117] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_config.ini
[1738699594.466659][117:117] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_counters.ini
[1738699594.470330][117:117] CHIP:DL: Wrote settings to /data/chip_counters.ini
[1738699594.470387][117:117] CHIP:DL: NVS set: chip-counters/reboot-count = 4 (0x4)
[1738699594.470797][117:117] CHIP:DL: Got Ethernet interface: enp0s18
[1738699594.471089][117:117] CHIP:DL: Found the primary Ethernet interface:enp0s18
[1738699594.471788][117:117] CHIP:DL: Failed to get WiFi interface
[1738699594.471825][117:117] CHIP:DL: Failed to reset WiFi statistic counts
2025-02-04 21:06:34.472 (MainThread) INFO [chip.storage] Initializing persistent storage from file: /data/chip.json
2025-02-04 21:06:34.472 (MainThread) INFO [chip.storage] Loading configuration from /data/chip.json...
2025-02-04 21:06:34.600 (MainThread) INFO [chip.CertificateAuthority] Loading certificate authorities from storage...
2025-02-04 21:06:34.600 (MainThread) INFO [chip.CertificateAuthority] New CertificateAuthority at index 1
2025-02-04 21:06:34.602 (MainThread) INFO [chip.CertificateAuthority] Loading fabric admins from storage...
2025-02-04 21:06:34.602 (MainThread) INFO [chip.FabricAdmin] New FabricAdmin: FabricId: 0x0000000000000002, VendorId = 0x134B
2025-02-04 21:06:34.603 (MainThread) INFO [matter_server.server.stack] CHIP Controller Stack initialized.
2025-02-04 21:06:34.603 (MainThread) INFO [matter_server.server.server] Starting the Matter Server...
2025-02-04 21:06:34.608 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Skip fetching certificates (already fetched within the last 24h).
2025-02-04 21:06:34.608 (MainThread) INFO [chip.FabricAdmin] Allocating new controller with CaIndex: 1, FabricId: 0x0000000000000002, NodeId: 0x000000000001B669, CatTags: []
2025-02-04 21:06:34.700 (MainThread) INFO [matter_server.server.vendor_info] Loading vendor info from storage.
2025-02-04 21:06:34.734 (MainThread) INFO [matter_server.server.vendor_info] Loaded 282 vendors from storage.
2025-02-04 21:06:34.734 (MainThread) INFO [matter_server.server.vendor_info] Fetching the latest vendor info from DCL.
2025-02-04 21:06:35.022 (MainThread) INFO [matter_server.server.vendor_info] Fetched 281 vendors from DCL.
2025-02-04 21:06:35.022 (MainThread) INFO [matter_server.server.vendor_info] Saving vendor info to storage.
2025-02-04 21:06:35.030 (MainThread) INFO [matter_server.server.device_controller] Loaded 0 nodes from stored configuration
2025-02-04 21:06:35.041 (MainThread) INFO [matter_server.server.server] Matter Server successfully initialized.

If you use the HA app on Android make sure the correct Thread network is used by it.
In occasions where e.g. also a Google Nest Hub is also in the same network the app tends to use other credentials.

You can also check the Thread view inside HA to see if there are other Thread networks as shown in the screenshots here:

I don’t use any other thread devices like Nest Hub. I have only HA and NUC, no other thread network. Only Zigbee over second Sonoff Zigbee Dongle-E.


I’ve downgraded the firmware to ot-rcp-v2.4.5.0-zbdonglee-460800.gbl in the hope that it would solve the problem, but it didn’t help.

Could it be something wiht credational (thread_credentials_set": false), debug log Matter.

  "data": {
    "server": {
      "info": {
        "fabric_id": 2,
        "compressed_fabric_id": 
        "schema_version": 11,
        "min_supported_schema_version": 9,
        "sdk_version": "2024.11.4",
        "wifi_credentials_set": false,
        "thread_credentials_set": false,
        "bluetooth_enabled": false
      },
      "nodes": [],
      "events": []