Chapter 1

What Matter Hub is

First understand where Home Assistant Matter Hub sits in a smart home, then plan your deployment with one consistent set of terms: bridge, controller, fabric, node and endpoint. You will also learn to tell its direction apart from the Home Assistant Matter integration, where the maturity limits of Stable 2.0.55 are, and which requirements you should not hand to Matter Hub.

First decide which problem you are solving

Home Assistant Matter Hub (Matter Hub from here on) turns entities you already have in Home Assistant into Matter devices and offers them to Apple Home, Google Home, Amazon Alexa or any other compatible external controller. It fits the case where "the devices are already in Home Assistant and you also want to control them from another home interface or voice assistant". Say a living-room light is managed by the Home Assistant Zigbee integration and you also want to operate it from an external controller: Matter Hub sits in the middle and translates state and commands in both directions.

The direction matters: Matter Hub is not a general-purpose controller for adding off-the-shelf Matter accessories to Home Assistant, and it does not replace the Home Assistant automation engine, its device integrations or the official Matter integration. It emulates one or more Matter bridges and exposes the Home Assistant entities that pass your filter. When an external controller sends a command to a Matter endpoint, Matter Hub calls the matching Home Assistant action; when a Home Assistant state changes, Matter Hub syncs the endpoint state.

In one line: if the data flow is "Home Assistant entity → external Matter controller", consider Matter Hub; if it is "Matter accessory → Home Assistant", look at the official Home Assistant Matter integration first.

By the end of this chapter you should be able to draw your own data flow, choose a deployment shape that fits, understand that controller support cannot be inferred from the Matter Hub version alone, and avoid the common mistake of collapsing Stable, maturity and compatibility into one thing.

Architecture: from HA state to a Matter endpoint

The Stable 2.0.55 backend is built from a few parts with clear responsibilities. HomeAssistantClient connects over the Home Assistant WebSocket API and reads states, entities and the device registry. HomeAssistantActions turns external control commands into Home Assistant service calls. BridgeService handles creating, updating, starting, stopping and refreshing a bridge. BridgeStorage keeps the configuration and its metadata. BridgeEndpointManager creates, updates or removes Matter endpoints according to the filter and the entity mapping.

LayerWhat Stable 2.0.55 is responsible forWhat you see in the UI
Home AssistantHolds the original entities, states, areas, labels and callable actionsEntity names, states and device capabilities are the mapping input
The Matter Hub backendFilters entities, maps device types, keeps state in sync and manages the bridge lifecycleThe Bridge, Devices, Health and Settings pages
Matter Server NodeEach standard bridge is a ServerNode plus an aggregator endpoint that carries many device endpointsAn external controller commissions one bridge and sees the devices under it
External controllerCompletes commissioning, stores the fabric relationship and presents the device types it supportsThe controls in vendor apps such as Apple Home, Google Home and Alexa

State sync runs in two directions. In the first, a state changes in Home Assistant, Matter Hub updates the matching Behavior and cluster attributes, and a Matter subscription carries the change to the controller. In the second, the controller writes an attribute or sends a command and Matter Hub turns it into a Home Assistant action; the real device is still managed by its original Home Assistant integration. If the Home Assistant connection drops, the bridge process may still be there, but it cannot reliably carry out actions on the original device.

Do not draw the responsibility line wrong: rooms, groups, scenes and routines in an external controller are managed by that controller; areas and automations in Home Assistant are still managed by Home Assistant. Matter Hub passes device information along; it does not guarantee that every vendor uses the same fields or creates the same rooms automatically.

Agree on node, bridge, endpoint, cluster and fabric first

TermWhat it means in this guideHome example
ControllerThe controlling end that commissions, manages and operates Matter nodes; the vendor decides how much it supportsThe home hub and its phone app, taken together
CommissionerThe role that runs the first join into a fabric; usually the controller appYou choose to add a Matter accessory in a phone app
NodeOne node on the Matter network, with an identity and network services of its ownOne standard bridge is a single node to the controller
BridgeA Matter node that uses an aggregator to gather several bridged endpoints; it is also the main unit of configuration in Matter HubPut the office lights and plugs on one bridge
EndpointA numbered unit inside a node that stands for one device function; one HA entity may map to a single endpoint or to a composed oneA dimmable light becomes a light endpoint
Device TypeDefines whether an endpoint is a light, a plug, a lock, a sensor and so on, and which clusters it must haveThe same HA switch can appear as a plug or as another supported type, depending on the mapping
ClusterA group of related attributes, commands and events, such as On/Off and Level ControlThe controller switches a light through the On/Off cluster
FabricA Matter administrative domain formed by a shared trust root and operational credentialsThe same bridge can join several controller fabrics
AggregatorThe special endpoint on a standard bridge that gathers the bridged devicesThe controller finds several child devices from the bridge root node
Entity MappingThe rule that turns an HA entity's state, capabilities and actions into a Matter device type and clusterHA light brightness maps to Matter Level Control

"One HA entity equals one physical device" is not a guarantee. Some sensors split temperature, humidity and battery level into several entities, and Stable can compose them into a single endpoint. The other way round, one complex entity may need several endpoints before it can show its different functions. So plan scale from the endpoints after mapping, not from the Home Assistant device count alone.

Matter Hub and the Home Assistant Matter integration point in opposite directions

QuestionMatter HubHome Assistant Matter integration
Main directionExposes HA entities to external Matter controllersOnboards Matter accessories into Home Assistant
Main roleMatter bridge / Server NodeThe Matter controller integration on the Home Assistant side
Is it a general-purpose controllerNo; it does not onboard or fully manage arbitrary Matter accessoriesThe official path for managing Matter accessories in Home Assistant
Where the original state comes fromEntities you already have in Home AssistantMatter devices that have been onboarded
Common useMake lights, plugs or sensors that live in HA appear in an external ecosystemMake native Matter lights or sensors appear in HA
Can they coexistYes, but avoid exposing the same entity through several paths at once: that creates duplicate devices and command loops that are hard to trace

If a native Matter accessory is first onboarded by the Home Assistant Matter integration and then exposed by Matter Hub to another controller, what the outside sees is an endpoint remapped by Matter Hub, not Matter Hub taking over the original device's fabric. That kind of bridging can be useful, but compatibility rests on three layers: the HA entity's capabilities, the Matter Hub mapping and the target controller. "The original device supports Matter" is not enough to conclude that every control survives.

Planning tip: start by listing "the authoritative state source for each device" and "the external controllers that have to show it". Keep exactly one clear exposure path per device and later troubleshooting gets much easier.

Release channel, maturity and controller support are three separate things

This guide is pinned to Stable v2.0.55, commit 6c8e8403d488fb06d2ac02d9199b92a0b8e8dccf. A release channel only answers which release line the code came from. Product maturity answers whether a feature is still experimental. Controller support answers whether a particular vendor recognizes a given device type or cluster. Release channel, maturity and controller support guarantee nothing about each other.

Kind of factHow to read it for Stable 2.0.55
Stable channelThe release line recommended for most users; every procedure in this guide follows this pinned version
Alpha channelUpstream says it is level with Stable at this point in time, but it is still a separate release line; that is no reason to write future Alpha behavior into Stable
Testing channelHighly unstable and meant for development testing; its architecture and behavior are out of scope for this guide
Experimental inside StableServer Mode with several entities, the Camera Plugin, the Security Plugin and some Matter 1.4 device types exist in Stable, and you must still treat them as experimental or as needing verification on the target controller
Controller supportApple, Google, Alexa, Aqara and SmartThings each support different types; unknown is not support, and "not listed" is not proof that it will fail

A standard bridge works in Stable, but that does not mean every mapping inside the bridge is presented by every controller. Camera has a built-in plugin in Stable, yet its maturity is still experimental, and the v2.0.55 documentation limits it to the SmartThings direction and flags the media path as still to be verified. The Server Mode route is in Stable too, but a multi-device node is explicitly experimental; a node dedicated to a single robot vacuum is the more conservative use.

Supported deployment shapes and their shared limits

ShapeWho it suitsMain limits and responsibilities
Home Assistant OS Add-onMost readers who run HA OS and want Supervisor to manage the lifecycleHA OS only; the add-on still needs correct LAN, IPv6 and mDNS. For the pinned mirror details see Chapter 2
Docker host networkUsers who manage their own containers, backups and updatesYou have to persist /data, inject the HA URL and token properly, and maintain host networking and IPv6 yourself
Global npmAdvanced users who can maintain a Node.js runtime, service management and a data directoryYou handle the long-running service, restarts, permissions, version pinning and backups yourself; it is not the default recommendation for most readers
Several standard bridgesYou want to split devices by room, by domain or by controller limitsEach bridge needs a different port; more bridges, endpoints and sync work add memory and network load
Multi-FabricYou want the same bridge to join several controllersIt does not mean every controller supports the same device types; plan managing and removing fabrics separately
Server ModeSpecific devices that have to appear standalone, such as a vacuum under a particular controllerExperimental limits remain inside Stable; ten endpoints per node at most, and several entities is especially experimental

Matter depends on IPv6, mDNS and UDP. A container that can open the Dashboard only proves HTTP is reachable; it does not mean a controller can discover or operate the Matter node. VLANs, AP isolation, the wrong mDNS interface, a Docker-internal interface or an IPv6 address with no return path can each break commissioning, or cause No Response later. Before you deploy, draw the layer-2 network path between the Matter Hub host and the controller or home hub.

Scale is not a guaranteed number either. The endpoint count, how complex the device types are, the controller implementation and the host resources all affect stability. The upstream interface prompts you to consider splitting a large bridge; the low-resource documentation recommends planning conservatively from RAM and entity count. These are operating guidance, not a hard protocol limit that says "above this number it must fail".

Hands-on: draw the data flow before you decide to install

  1. List the authoritative sources

    On paper, or in a document that holds no secrets, list the HA domains, areas and purposes you want to expose. Write down categories and rough counts only; do not copy access tokens, pairing data or on-site network identifiers.

  2. Mark the target controllers

    For each group of devices, mark Apple Home, Google Home, Alexa or another target, and record "does this controller support the device type I need" as a field still to be verified. Do not fill unknown in as supported.

  3. Choose the direction of exposure

    Confirm that what you need is exposure out of HA. If the goal is to onboard native Matter accessories into HA, move it to a Home Assistant Matter integration plan and do not install Matter Hub for it.

  4. Set the bridge boundaries

    Start by planning one small standard bridge with non-sensitive devices that are easy to verify. If different controllers need mutually exclusive workarounds, or one bridge grows too large, split it by controller, by room or by domain.

  5. Check the network prerequisites

    Confirm that the host supports IPv6, that the controller and Matter Hub have a working mDNS/UDP path, and that there is no client isolation. Record only "passed" or "to do" here; do not keep private addresses in your notes.

  6. Define the success criteria

    Split "the dashboard shows HA connected", "the bridge is running", "the endpoint count looks right" and "the controller can read and write one test device" into four checkpoints. A failure then tells you which layer to look at, instead of sending you straight to a reset.

Maturity limits for homes and small offices

Good fit: you already have a stable set of HA devices at home and want a handful of everyday lights, plugs, covers or sensors to appear in an external controller; a small office wants one bridge per area and keeps HA as the single center for automation and state; the same standard bridge joins several fabrics and you accept that each controller presents things differently.

Pilot it first: anything that leans on newer Matter 1.4 types, complex audio and video, the experimental Camera or Security plugins, Server Mode with several entities, or that needs different controllers to treat one complex endpoint identically. Even though these sit in the Stable channel, label their maturity separately and verify them with non-critical devices.

Do not put this on Matter Hub: the full duties of a general-purpose Matter controller, port forwarding across the internet, enterprise identity governance, multi-account RBAC / SSO, or the only control path to a safety-critical device. The HTTP Basic Auth in Matter Hub is also just one optional set of basic credentials, and should not be described as a complete multi-user permission system.

Safety boundary: pairing data, long-lived access tokens and Matter identity data are all sensitive. Tutorials, tickets, screenshots and repositories may use explicit placeholders only; never post live values, and do not make a factory reset your first troubleshooting step.

Common pitfalls and safe fallback points

  1. Treating Matter Hub as a tool for adding accessories

    Go back to the data flow: if you want to add Matter accessories to HA, stop building bridges in Matter Hub and read the official Home Assistant Matter integration instead. Do not expose the same device twice to paper over a wrong direction.

  2. The Dashboard opens, but the controller cannot find the bridge

    Judge HTTP and Matter networking separately. Check IPv6, mDNS, UDP, the LAN interface and the isolation settings first, then check whether the bridge is running. A reachable web page is no reason to declare the Matter network healthy.

  3. You see an experimental feature inside Stable

    That is not a contradiction. Stable is a release channel; Server Mode with several entities, or a plugin, can sit in Stable and still be experimental. Go back to the label on each individual feature; the channel does not override maturity.

  4. One controller is missing a control

    Cross-check in order: the HA entity's capabilities, the device type and cluster Matter Hub maps to, and what the controller publicly supports. Verify with a standard type or by splitting the bridge first; do not delete the fabric or reset the bridge straight away.

  5. The same device shows up twice

    Check whether it is exposed through two bridging paths at once, or whether the same entity is included by the filters of two bridges. Keep one authoritative path: stop the duplicate bridge and confirm the impact before you change any settings.

FAQ

Is Matter Hub a Matter controller?
Not a general-purpose Matter controller. The main role of Stable 2.0.55 is a Matter bridge / Server Node that exposes Home Assistant entities to external controllers.
If I use Matter Hub, do I still need the Home Assistant Matter integration?
The two point in different directions. Use the official Matter integration to onboard native Matter accessories into HA; use Matter Hub to expose entities you already have in HA. Whether you need both depends on your data flow.
Is every feature in Stable 2.0.55 production-ready?
No. Release channel and maturity have to be kept apart. Server Mode with several entities, the Camera and Security plugins and some Matter 1.4 types still carry experimental or controller-verification limits.
Can one bridge join several controllers?
Matter supports multi-fabric and Matter Hub provides the flow for it, but each controller supports different device types and clusters, so sharing a bridge does not make them present things the same way.
Should I split bridges by room or by device type?
There is no single answer. Splitting by area is easy to reason about; splitting by domain makes it easy to apply the same mapping; a controller-specific split isolates workarounds. Verify with a small bridge first, then adjust for resources and compatibility.

Pinned-version official and source-code references

Every GitHub URL above is pinned to commit 6c8e8403d488fb06d2ac02d9199b92a0b8e8dccf, so later changes on the branch cannot rewrite the facts in this chapter.