Home Assistant Green + ZBT-2 cannot commission any Inovelli White Series VTM31-SN (Matter over Thread) – KeyError in endpoint_added_callback

Hello everyone,

I’m hoping someone can help identify whether I’m dealing with a Home Assistant bug, an Inovelli firmware issue, or something else in the Matter commissioning process.

Hardware

  • Home Assistant Green

  • Home Assistant Connect ZBT-2

  • Home Assistant Core 2026.7.1

  • Supervisor 2026.06.2

  • Home Assistant OS 18.1

  • Frontend 20260624.4

  • Matter Server 9.0.4

  • OpenThread Border Router 3.0.1

  • Verizon G3100 router

  • iPhone (Home Assistant Companion App)

  • Inovelli White Series Smart Dimmer

  • Model: VTM31-SN

  • Matter over Thread

Thread Configuration

  • Preferred Thread network exists:

    • ha-thread-ff59
  • One Home Assistant OpenThread Border Router

  • Thread integration shows healthy

  • Matter integration is healthy

Matter-over-Wi-Fi devices are already working correctly (21 Matter devices currently connected, all Kasa Matter/Wi-Fi devices).

Problem

I cannot commission any of my Inovelli White Series dimmers.

I currently have seven VTM31-SN switches installed, and I have attempted commissioning on several of them.

Every one fails identically.

Commissioning Process

For every attempt:

  • Factory reset the switch immediately before pairing.

  • LED bar pulses blue throughout commissioning.

  • Using the Home Assistant Companion App on iPhone.

  • Home Assistant → Add Device → Add Matter Device.

  • Scan QR code.

  • iPhone recognizes the device as a Matter Light.

  • Home Assistant requests permission to add the accessory.

  • Commissioning begins (“Setting Up…”).

  • Approximately 39 seconds later, commissioning fails with:

Unable to Add Accessory

Pairing Failed

The LED continues pulsing blue after failure.

Troubleshooting Already Performed

  • Factory reset multiple switches.

  • Attempted commissioning on several different switches.

  • Replaced the original ZBT-2 with a brand-new ZBT-2.

  • Recreated Thread network.

  • Verified OpenThread Border Router is running.

  • Verified Matter Server is running.

  • Verified Thread preferred network exists.

  • Verified Matter integration.

  • Verified Thread integration.

  • Verified switch is in Dimmer Mode.

  • Verified Single Pole Mode.

  • Tried iPhone on both 2.4 GHz and 5 GHz Wi-Fi (same result).

  • Home Assistant and iPhone are on the same LAN.

  • No Apple HomePod or Apple TV Thread Border Router exists on the network.

Home Assistant Logs

The log consistently reports:

Unexpected exception: 4

Unexpected exception: 5

Unexpected exception: 6

Expanding the traceback shows:

Logger: homeassistant.components.matter

Source: components/matter/_init_.py:320

KeyError: 4

File “/usr/src/homeassistant/homeassistant/components/matter/adapter.py”, line 73, in endpoint_added_callback

self._setup_endpoint(node.endpoints[data[“endpoint_id”]])

The traceback appears to indicate that Home Assistant receives an endpoint-added event but then raises a KeyError while attempting to access endpoint 4.

My Question

Has anyone seen this before with the Inovelli White Series (VTM31-SN)?

Specifically:

  • Is this a known Home Assistant Matter bug?

  • Is this a known firmware issue with the VTM31-SN?

  • Does anyone know why endpoint_added_callback would generate a KeyError during commissioning?

Any suggestions or debugging ideas would be greatly appreciated.

Thank you!

Putting this out there as a just in case… You mention other Matter over WiFi devices, but don’t mention that you have any Thread devices already running on your network.

You’ve likely already done this but the issue I had the first time I added any MoT devices to Home Assistant was that I needed to sync the thread credentials to my phone.

  1. For Android Devices:
    1. Open the Home Assistant Companion app.

    2. Navigate to Settings > Companion app > Troubleshooting.

    3. Tap Sync Thread credentials and follow the on-screen prompts.

  2. For iOS Devices (iPhone/iPad):
    1. Open the Home Assistant Companion app.

    2. Go to Settings > Devices & services > Integrations.

    3. Select the Thread integration and tap Configure.

    4. At the bottom of your preferred network box, tap Send credentials to phone

If it is something more complicated than this, I’ll need to leave that to others to try and help.