Introduction to Matter Technology

What is Matter?

Matter protocol is an application layer connectivity protocol launched by CSA (Connectivity Standards Alliance) in 2021. At present, Amazon, Google, Apple, and others have pledged that Alexa, Google Assistant, and HomeKit ecosystems will be compatible with devices that support the Matter protocol. The CSA Alliance officially released Matter 1.0 in October 2022, and released the Matter 1.1 certification in May 2023.

Matter aims to become an interoperable standard that promotes technology adoption and innovation, gradually replacing proprietary protocols to establish a unified “language” and become the standard for smart home ecosystems. Matter is implemented through an open-source SDK that includes specification implementation and rich examples and interoperable code. In the first three layers of the OSI model, the core Matter protocol is applicable to any type of IPv6 transport and network.Although control and other operational communications are carried out via IPv6, BLE can be used for adding new devices.

Matter is flexible and interoperable.It builds upon years of challenges and successes with low-power 802.15.4 networks and Wi-Fi smart home devices. Like Thread, Matter is built on IPv6. It includes robust encryption, clear definition modeling of device types and their data, and support for multiple ecosystem administrators.

Matter also supports bridging of other smart home technologies like Zigbee, Bluetooth Mesh and Z-Wave. This means devices based on these protocols can operate as Matter devices through a bridge that is a member device of both the Matter network and other bridged IoT technologies.

Bridges have a dual advantage.Devices using other protocols can access technologies and ecosystems targeted at native Matter devices. Meanwhile, Matter will create a true IoT connectivity framework by leveraging mature technologies with large user bases.

primer-matter-architecture

Matter Data Model

Devices and Node, Endpoints

All devices, including smartphones and home assistants, are made up of Nodes. A Node is a uniquely identifiable and addressable resource in the network that users can perceive as a functionally complete whole.In Matter, network communication begins at a Node and ends at a Node.

Node is a collection of Endpoints.Each Endpoint contains a specific set of functions. For example, one Endpoint might be related to lighting functionality, another to motion detection, and another might handle device OTA and other utilities.

primer-device-node

Node is a group of related behaviors. Each Node can have one or more roles.

Node roles include:

  • Commissioner: A Node that performs commissioning operations.
  • Controller: A Node that can control one or more Nodes.For example, Google Home app (GHA), Google Assistant, and Google Nest Hub (2nd generation).Certain device types, such as on/off light switches, have a Controller role.
  • Controlee: A Node that can be controlled by one or more Nodes.Most device types can be Controlees except for some device types with Controller roles (such as on/off light switches).An on/off light switch can only be a Controller, not a Controlee.
  • OTA Provider: A Node that can provide OTA software updates.
  • OTA Requestor: A Node that can request OTA software updates.

Cluster

Within an Endpoint, a Node has one or more Clusters. This is another step in the device hierarchy that groups specific functionalities together, such as an on/off Cluster on a smart plug or a level control Cluster on a dimmable light Endpoint.

A Node may also have multiple Endpoints, with each Endpoint creating instances of the same functionality. For example, a light fixture might control each light independently, or a power strip might expose control for each socket.

Attributes

At the final level, we find Attributes , which are states stored by the Node, such as the Current Level Attribute of Level Control.Attributes can be defined as different data types, such as uint8, string, or array.

primer-node-endpoint-attribute

Commands

In addition to Attributes, Clusters also contain Commands, which are actions that can be executed. In Matter's device model, they are equivalent to remote procedure calls. Commands are typically in verb form, such as Lock in the Door Lock Cluster.Commands can generate responses and results; in Matter, these responses are also defined as commands in the opposite direction.

Events

Finally, Clusters can also include Events , which can be viewed as records of past state transitions. While Attributes represent current state, events are historical logs that include monotonically increasing counters, timestamps, and priorities. They can capture state transitions and data modeling that is not easily achieved through attributes.

primer-device-type

Endpoint 0 is reserved for Utility Clusters.Utility Clusters refer to maintenance functions encapsulated on Endpoints, such as specific Clusters for discovery, addressing, diagnostics, and software updates. On the other hand, Application Clusters support primary operations such as on/off or temperature measurement.

Device Types

Overall, what Cluster combinations should be included when device manufacturers plan to develop new devices? While any combination of Clusters can be used, it's common practice to implement and extend certain device types. Device types are collections of mandatory and optional Clusters on one or more Endpoints that define top-level properties of physical devices, such as dimmable lights, door locks, or video players.

While Endpoints have a weaker requirement that they should implement consistent functionality, device types are a mandatory requirement. If a Node implements a device type, it must include a set of Clusters on one or more Endpoints to define a unique, coherent behavior, such as a color dimming switch or light sensor.

Device types are not specified in the main Matter specification document but are defined by an accompanying document - Device Library. Similarly,all application Clusters are defined in the Application Cluster Library. These three documents can be found on the CSA member website.

Clients and Servers

Cluster can be either a Client Cluster or Server Cluster. The server side is stateful, containing Attributes , Events and Commands , while the Client is stateless, responsible for initiating interactions with remote Server clusters to perform the following operations:

  • Read and write remote Attributes.
  • Read remote Events.
  • Invoke remote Commands.

While the device model is hierarchical within Nodes, relationships between Nodes are not. In Matter,there are no vertical controller/peripheral or leader/follower relationships between Nodes. Instead, the relationship is horizontal: any Cluster can be a Server Cluster or Client Cluster. Thus,a Node can be both server and client for different Clusters and functionalities.

For example, we might have two table lamps: Node A and Node B.Both Nodes implement an on/off light device type. This device type includes an on/off Server Cluster to control their respective physical light outputs.

However, like typical table lamps, our physical devices will also include an on/off light switch device type for local on/off switching. This device type must implement an on/off Server Cluster so it can control the Server Cluster.

primer-client-server

In this example, the on/off Client Cluster on Node A is changing attributes of the on/off Server Clusters on both Node A and Node B, while Node B's Client Cluster only changes its own Server Cluster.

Copyright © 2023 Lumi United Technology Co., Ltd. all right reserved,powered by GitbookFile Modify: 2025-04-17 11:08:12

results matching ""

    No results matching ""