3. Matter智能家居设备类型与数据模型

在Matter协议中,设备类型(Device Type)并不是一个简单的标签,而是一份“能力契约”。它规定了该设备必须实现哪些集群(Cluster)、每个集群必须包含哪些属性(Attribute)、命令(Command)和事件(Event),以及这些元素之间的约束关系。理解设备类型与数据模型,是开发Matter智能家居产品的基础。本节将围绕On/Off Light、Dimmable Light、Thermostat和Door Lock四类典型设备,说明它们的定义方式、集群组成和属性语义。

设备类型、集群与属性的层级关系

Matter数据模型采用树状结构:最上层是节点(Node),一个节点代表一个可独立寻址的物理或逻辑设备;节点下挂载一个或多个端点(Endpoint),端点才是设备类型的载体;每个端点包含若干集群,集群再包含属性、命令和事件。例如,一个同时支持开关和调光的灯具,可以在端点1上实现On/Off Light设备类型,在端点2上实现Dimmable Light设备类型,或者在同一端点上同时实现两者。

设备类型由Matter规范中的Device Type Library定义,每个设备类型有唯一的Device Type ID。On/Off Light的ID为0x0100,Dimmable Light为0x0101,Thermostat为0x0301,Door Lock为0x000A。这些ID在设备描述(Device Descriptor)集群的DeviceTypeList属性中声明,控制器读取后即可知道该端点具备哪些能力。

Matter 数据模型层级:节点 → 端点 → 集群 → 属性 Node(节点) 一个可独立寻址的Matter设备,拥有唯一Node ID,包含网络配置、安全凭证和多个端点 例:智能灯节点 Endpoint 1 Device Type: Dimmable Light (0x0101) Endpoint 2 Device Type: On/Off Light (0x0100) On/Off Cluster 0x0006 Level Control 0x0008 On/Off Cluster 0x0006 Descriptor 0x001D 属性 OnOff (bool) GlobalSceneControl 属性 CurrentLevel (0~254) MinLevel / MaxLevel 属性 OnOff (bool) OnTime / OffWaitTime 属性 DeviceTypeList ServerList / ClientList 四类典型设备类型的集群要求(Server端必须实现) On/Off Light On/Off + Descriptor Dimmable Light On/Off + Level + Descriptor Thermostat Thermostat + Fan + Temp Door Lock DoorLock + Access 注:所有设备类型均必须实现 Descriptor 集群(0x001D),用于声明 DeviceTypeList、ServerList 和 ClientList。 属性访问权限分为 Read、Write、Read+Write、Report 等,控制器通过 Read/Subscribe 获取状态。

On/Off Light与Dimmable Light

On/Off Light是最基础的照明设备类型,其核心是On/Off集群(Cluster ID 0x0006)。该集群必须包含OnOff属性(布尔型),表示灯当前的开或关状态。控制器通过发送On、Off、Toggle命令改变状态,设备端执行后更新OnOff属性,并通过报告机制通知订阅者。On/Off集群还包含OnTime和OffWaitTime属性,用于实现“开启后延时自动关闭”或“关闭后延时自动开启”的定时行为,单位为十分之一秒。

Dimmable Light在On/Off Light基础上增加了Level Control集群(Cluster ID 0x0008)。该集群的核心属性是CurrentLevel,取值范围0~254,其中0表示最暗(通常对应关闭或最低亮度),254表示最亮。控制器通过MoveToLevel、Step、Move等命令调节亮度。MoveToLevel命令携带Level、TransitionTime和OptionsMask等字段,TransitionTime以十分之一秒为单位,实现平滑渐变。设备端需要维护MinLevel和MaxLevel属性,限制实际可调范围,避免因过低占空比导致LED闪烁。

在Silicon Labs的Matter SDK中,这两类设备通常基于Zigbee/Thread SoC实现。开发者需要在ZCL(Zigbee Cluster Library)配置中启用对应集群,并在应用层实现属性回调。例如,当收到MoveToLevel命令时,应用层计算目标PWM占空比,驱动LED,然后更新CurrentLevel属性并触发报告。

Thermostat

Thermostat设备类型(0x0301)用于暖通空调控制,其数据模型比照明复杂得多。它必须实现Thermostat集群(0x0201),该集群包含数十个属性,核心包括:LocalTemperature(本地温度,单位0.01°C)、OccupiedCoolingSetpoint和OccupiedHeatingSetpoint(制冷/制热设定点)、SystemMode(系统模式,如Off、Auto、Cool、Heat)、ThermostatRunningMode(当前运行模式)等。此外,Thermostat设备通常还需要Fan Control集群(0x0202)和Temperature Measurement集群(0x0402)。

SystemMode属性是控制逻辑的关键。当SystemMode设为Auto时,设备根据LocalTemperature与两个设定点的关系自动切换制冷或制热。例如,OccupiedCoolingSetpoint设为2400(24.00°C),OccupiedHeatingSetpoint设为2000(20.00°C),当温度高于24°C时启动制冷,低于20°C时启动制热,中间区域保持待机。SetpointRaiseLower命令允许控制器一次性调整两个设定点,携带Mode和Amount字段,Amount以0.1°C为单位。

开发Thermostat时,需要注意属性报告的频率控制。LocalTemperature变化频繁,若每次变化都上报会消耗大量网络带宽。通常采用“变化阈值+最小间隔”策略,例如温度变化超过0.5°C且距上次报告超过30秒才上报。

Door Lock

Door Lock设备类型(0x000A)的核心是Door Lock集群(0x0101)。该集群的LockState属性是只读枚举,取值包括NotFullyLocked(0)、Locked(1)、Unlocked(2)和Undefined(3)。LockType属性表示锁的类型,如DeadBolt(0)、Magnetic(1)、Other(2)等。控制器通过LockDoor和UnlockDoor命令控制锁具,命令中可携带PIN码或RFID凭证。

Door Lock集群还包含LockDoor和UnlockDoor命令的响应机制。设备执行后需更新LockState属性,并通过Report发送给订阅者。对于电池供电的锁,还需要实现Power Source集群(0x002F)和Battery Percentage Remaining属性,以便用户及时更换电池。此外,Door Lock通常需要与Access Control集群(0x001F)配合,管理用户凭证和访问权限。

设备类型与集群的对应关系

设备类型 Device Type ID 必须实现的Server集群 关键属性
On/Off Light 0x0100 On/Off (0x0006)、Descriptor (0x001D) OnOff
Dimmable Light 0x0101 On/Off (0x0006)、Level Control (0x0008)、Descriptor OnOff、CurrentLevel、MinLevel、MaxLevel
Thermostat 0x0301 Thermostat (0x0201)、Fan Control (0x0202)、Temperature Measurement (0x0402)、Descriptor LocalTemperature、SystemMode、OccupiedCoolingSetpoint、OccupiedHeatingSetpoint
Door Lock 0x000A Door Lock (0x0101)、Power Source (0x002F)、Descriptor LockState、LockType、BatteryPercentageRemaining
在Silicon Labs Matter SDK中,设备类型的实现通常通过ZCL Advanced Platform(ZAP)工具生成。开发者在ZAP中选择Endpoint的Device Type,工具会自动勾选必须实现的集群和属性,并生成对应的回调框架。开发者只需填充业务逻辑,如PWM驱动、温度采样、锁具电机控制等。
注意:设备类型中标记为“必须”的集群和属性不可省略,否则设备无法通过Matter认证。可选集群可以根据产品功能裁剪,但裁剪后需确保控制器不会因缺少属性而报错。建议在开发初期使用Matter认证测试工具(如chip-tool)验证设备描述和属性读写是否符合规范。

总结来说,Matter设备类型是一份标准化的能力清单。On/Off Light和Dimmable Light聚焦照明控制,Thermostat管理温度调节,Door Lock负责门禁安全。开发者需要准确理解每个设备类型的集群组成和属性语义,才能设计出符合规范、互操作性良好的智能家居产品。