技术文档:Specifications Download Request - CSA-IOT
一、设备定义
Matter 的设备定义通过组合 Cluster 以及其中必要的属性(Attribute)、控制指令(Commands)进行。
其规定了每种 Device Type 必选的属性和指令,确保同一个 Device Type 的设备行为一致。
1.1 设备类型Device Types
Matter Device Library Specification Version 1.1 中
类别 | 设备类型和 ID |
---|---|
Utility Device Types | 0x0016:Root Node 0x0011:Power Source 0x0012:OTA Requestor 0x0014:OTA Provider 0x000E:Aggregator 0x0013:Bridged Node |
Lighting | 0x0100:On/Off Light 0x0101:Dimmable Light 0x010C:Color Temperature Light 0x010D:Extended Color Light |
Smart plugs/outlets and other actuators | 0x010A:On/Off Plug-in Unit 0x010B:Dimmable Plug-In Unit 0x0303:Pump |
Switches and controls | 0x0103:On/Off Light Switch 0x0104:Dimmer Switch 0x0105:Color Dimmer Switch 0x0840:Control Bridge 0x0304:Pump Controller 0x000F:Generic Switch |
Sensors | 0x0015:Contact Sensor 0x0106:Light Sensor 0x0107:Occupancy Sensor 0x0302:Temperature Sensor 0x0305:Pressure Sensor 0x0306:Flow Sensor 0x0307:Humidity Sensor 0x0850:On/Off Sensor |
Closures | 0x000A:Door Lock 0x000B:Door Lock Controller 0x0202:Window Covering 0x0203:Window Covering Controller |
HVAC | 0x0300:Heating/Cooling Unit 0x0301:Thermostat 0x002B:Fan |
Media | 0x0028:Basic Video Player 0x0023:Casting Video Player 0x0022:Speaker 0x0024:Content App 0x0029:Casting Video Client 0x002A:Video Remote Control |
Generic | 0x0027:Mode Select |
1.1 调光开关
1.1.1 Cluster要求
ID | Cluster | Client/Server | Quality | Conformance |
---|---|---|---|---|
0x0003 | Identify | Server | M | |
0x0004 | Groups | Server | M | |
0x0005 | Scenes | Server | M | |
0x0006 | On/Off | Server | M | |
0x0008 | Level Control | Server | M |
ID Cluster Client/Server Quality Conformance
---|---|---|---|---
0x0003 Identify Server M
0x0003 Identify Client M
0x0004 Groups Client O
0x0005 Scenes Client O
0x0006 On/Off Client M
0x0008 Level Control Client M
1.1.2 Element要求
ID | Cluster | Element | Name | Constraint | Access | Conformance |
---|---|---|---|---|---|---|
0 | Identify | Feature | Query | !Matter | ||
0x0003 | Identify | Command | TriggerEffect | M | ||
0x0005 | Scenes | Command | EnhancedAddScene | M | ||
0x0005 | Scenes | Command | EnhancedViewScene | M | ||
0x0005 | Scenes | Command | CopyScene | M | ||
0x0006 | On/Off | Feature | LT | M | ||
0x0008 | Level Control | Feature | OO | M | ||
0x0008 | Level Control | Feature | LT | M | ||
0x0008 | Level Control | Attribute | CurrentLevel | 1 to 254 | ||
0x0008 | Level Control | Attribute | MinLevel | 1 | ||
0x0008 | Level Control | Attribute | MaxLevel | 254 |
1.2 PICS Code
PICS 是协议实现一致性声明 (Protocol Implementation Conformance Statement)的简写,Matter 中每个 Cluster 都有一个 PICS Code。
Identifier | PICS Code |Name
0x0005 | S |Scenes
0x0006 | OO | On/Off
0x0008 | LVL | Level
0x0000 |B| Basic
0x0004 |G | Groups
0x0003 |I |Identify
Matter 约束一个设备 id,是通过 PICS Code 来组合,以 On/Off Light 为例:
其中,以 Identify 这一 cluster 为例,I.S.A0000 这一条目,I 是Identify的PICS Code,I.S 中的S表示Statement或Standard,A表示Attribute,0000是此条Attribute的id;
再以I.S.C00.Rsp为例,C表示Commands,00表示其Command Id,Rsp表示此条command需要响应;
I.S.C00.Tx 前面几个字段同上,Tx表示 server -> client。
二、Cluster
2.1 Identify
此集群支持端点endpoint识别状态(例如,闪烁指示灯),它向观察者(例如,安装程序)指示它是多个节点和/或端点中的哪一个。它还支持多播请求,即任何标识自己的端点来响应发起器。
此集群的状态可以在一个节点上的多个端点endpoint上共享。
例如:单个节点上的两个端点,一个是温度传感器,一个是湿度传感器,可以共享相同的集群实例,因此共享识别状态(例如节点上的单个LED)。
类等级:
Hierarchy | Role | PICS Code |
---|---|---|
Base | Utility | I |
Cluster标识:0x0003
2.1.1 特点
Bit | Code | Name | Description |
---|---|---|---|
0 | QRY | Query | Multicast query for identification state. |
2.1.2 属性
ID | Name | Type | Constraint | Quality | Default | Access | Conformance |
---|---|---|---|---|---|---|---|
0x0000 | IdentifyTime | uint16 | all | 0 | RW VO | M | |
0x0001 | IdentifyType | enum8 | desc | 0 | R V | M* |
2.1.3 命令
ID | Name | Direction | Response | Access | Conformance |
---|---|---|---|---|---|
0x00 | Identify | client ⇒ server | Y | M | M |
0x01 | IdentifyQuery | client ⇒ server | IdentifyQueryResponse | M | QRY |
0x40 | TriggerEffect | client ⇒ server | Y | M | O |
0x00 | IdentifyQueryResponse | server ⇒ client | N | QRY |
2.2 Groups
类等级:
Hierarchy | Role | PICS Code |
---|---|---|
Base | Utility | G |
Cluster标识:0x0004
2.2.1 特点
Bit | Code | Name | Def | Description |
---|---|---|---|---|
0 | GN | Group Names | 0 | The ability to store a name for a group. |
2.2.2 属性
ID | Name | Type | Constraint | Quality | Default | Access | Conformance |
---|---|---|---|---|---|---|---|
0x0000 | NameSupport | map8 | desc | F | 0 | R V | M |
2.2.3 命令
ID | Name | Direction | Response | Access | Conformance |
---|---|---|---|---|---|
0x00 | AddGroup | client ⇒ server | AddGroupResponse | F M | M |
0x01 | ViewGroup | client ⇒ server | ViewGroupResponse | F O | M |
0x02 | GetGroupMembership | client ⇒ server | GetGroupMembershipResponse | F O | M |
0x03 | RemoveGroup | client ⇒ server | RemoveGroupResponse | F M | M |
0x04 | RemoveAllGroups | client ⇒ server | Y | F M | M |
0x05 | AddGroupIfIdentifying | client ⇒ server | Y | F M | M |
0x00 | AddGroupResponse | server ⇒ client | N | M | |
0x01 | ViewGroupResponse | server ⇒ client | N | M | |
0x02 | GetGroupMembershipResponse | server ⇒ client | N | M | |
0x03 | RemoveGroupResponse | server ⇒ client | N | M |
2.3 Scenes
类等级:
Hierarchy | Role | PICS Code | Primary Transaction |
---|---|---|---|
Base | Application | S | Type 1 (client to server) |
Cluster标识:0x0005
2.3.1 特点
Bit | Code | Name | Def | Description |
---|---|---|---|---|
0 | SN | Scene Names | 0 | The ability to store a name for a scene. |
2.3.2 数据类型
- AttributeValuePair
ID | Name | Type | Constraint | Quality | Access | Default | Conformance |
---|---|---|---|---|---|---|---|
0 | AttributeID | attribute-id | all | RW | Matter !Zigbee | ||
1 | AttributeValue | variable | RW | M |
- ExtensionFieldSet
ID | Name | Type | Constraint | Quality | Access | Default | Conformance |
---|---|---|---|---|---|---|---|
0 | ClusterID | cluster-id | all | RW | M | ||
1 | AttributeValueList | list[AttributeValuePair] | RW | M |
2.3.3 属性
ID | Name | Type | Constraint | Quality | Default | Access | Conformance |
---|---|---|---|---|---|---|---|
0x0000 | SceneCount | uint8 | all | 0 | R V | M | |
0x0001 | CurrentScene | uint8 | all | 0 | R V | M | |
0x0002 | CurrentGroup | groupid | all | 0 | R V | M | |
0x0003 | SceneValid | bool | all | FALSE | R V | M | |
0x0004 | NameSupport | map8 | desc | 0 | R V | M | |
0x0005 | LastConfiguredBy | node-id | - | X | null | R V | O |
2.3.4 命令
ID | Name | Direction | Response | Access | Conformance |
---|---|---|---|---|---|
0x00 | AddScene | client ⇒ server | AddSceneResponse | M | M |
0x01 | ViewScene | client ⇒ server | ViewSceneResponse | O | M |
0x02 | RemoveScene | client ⇒ server | RemoveSceneResponse | M | M |
0x03 | RemoveAllScenes | client ⇒ server | RemoveAllScenesResponse | M | M |
0x04 | StoreScene | client ⇒ server | StoreSceneResponse | M | M |
0x05 | RecallScene | client ⇒ server | Y | O | M |
0x06 | GetSceneMembership | client ⇒ server | GetSceneMembershipResponse | O | M |
0x40 | EnhancedAddScene | client ⇒ server | EnhancedAddSceneResponse | M | O |
0x41 | EnhancedViewScene | client ⇒ server | EnhancedViewSceneResponse | O | O |
0x42 | CopyScene | client ⇒ server | CopySceneResponse | M | O |
0x00 | AddSceneResponse | server ⇒ client | N | M | |
0x01 | ViewSceneResponse | server ⇒ client | N | M | |
0x02 | RemoveSceneResponse | server ⇒ client | N | M | |
0x03 | RemoveAllScenesResponse | server ⇒ client | N | M | |
0x04 | StoreSceneResponse | server ⇒ client | N | M | |
0x06 | GetSceneMembershipResponse | server ⇒ client | N | M | |
0x40 | EnhancedAddSceneResponse | server ⇒ client | N | O | |
0x41 | EnhancedViewSceneResponse | server ⇒ client | N | O | |
0x42 | CopySceneResponse | server ⇒ client | N | O |
2.4 On/Off
用于打开和关闭设备。
类等级:
Hierarchy | Role | PICS Code | Primary Transaction |
---|---|---|---|
Base | Application | OO | Type 1 (client to server) |
Cluster标识:0x0006
2.4.1 特点
Bit | Code | Name | Description |
---|---|---|---|
0 | LT | Level Control for Lighting | Behavior that supports lighting applications. |
此Cluster用于照明应用程序。
- 当收到OnOff属性设置为FALSE的Level Control Cluster命令时,OnTime属性应设置为0。
- 在收到OnOff属性设置为TRUE的Level Control Cluster命令时,如果OnTime属性的值等于0,服务器应将OffWaitTime属性设置为0。
2.4.2 数据类型
- StartUpOnOffEnum
Value | Name | Conformance | Description |
---|---|---|---|
0 | Off | M | Set the OnOff attribute to FALSE |
1 | On | M | Set the OnOff attribute to TRUE |
2 | Toggle | M | If the previous value of the OnOff attribute is equal to FALSE, set the OnOff attribute to TRUE. If the previous value of the OnOff attribute is equal to TRUE, set the OnOff attribute to FALSE (toggle). |
2.4.3 属性
ID | Name | Type | Constraint | Quality | Default | Access | Conformance |
---|---|---|---|---|---|---|---|
0x0000 | OnOff | bool | all | SN | FALSE | R V | M |
0x4000 | GlobalSceneControl | bool | all | TRUE | R V | LT | |
0x4001 | OnTime | uint16 | all | X | 0 | RW VO | LT |
0x4002 | OffWaitTime | uint16 | all | X | 0 | RW VO | LT |
0x4003 | StartUpOnOff | StartUpOnOffEnum | desc | XN | MS | RW VM | LT |
2.4.3.1 OnOff属性
2.4.3.2 GlobalSceneControl属性
2.4.3.3 OnTime属性
2.4.3.4 OffWaitTime属性
2.4.3.5 StartUpOnOff属性
2.4.4 命令
ID | Name | Direction | Response | Access | Conformance |
---|---|---|---|---|---|
0x00 | Off | client ⇒ server | Y | O | M |
0x01 | On | client ⇒ server | Y | O | M |
0x02 | Toggle | client ⇒ server | Y | O | M |
0x40 | OffWithEffect | client ⇒ server | Y | O | LT |
0x41 | OnWithRecallGlobalScene | client ⇒ server | Y | O | LT |
0x42 | OnWithTimedOff | client ⇒ server | Y | O | LT |
2.4.4.1 Off命令
在收到Off命令后,服务器应将OnOff属性设置为FALSE。另外,当支持OnTime属性时,服务器应将OnTime属性设置为0。
2.4.4.2 On命令
在收到On命令后,服务器应将OnOff属性设置为TRUE。另外,当同时支持OnTime和OffWaitTime属性时,如果OnTime属性的值等于0,则服务器应将OffWaitTime属性设置为0。
2.4.4.3 Toggle命令
接收到Toggle命令后,如果OnOff属性的值等于FALSE,服务器将OnOff属性设置为TRUE,否则服务器将OnOff属性设置为FALSE。
另外,当同时支持OnTime和OffWaitTime属性时,如果OnOff属性的值等于FALSE,如果OnTime属性的值等于0,则服务器应将OffWaitTime属性设置为0。如果OnOff属性的值等于TRUE,则服务器应将OnTime属性设置为0。
2.4.4.4 OffWithEffect命令
允许使用增强的衰落方式关闭设备。
在收到OffWithEffect命令后,服务器应检查GlobalSceneControl属性的值。
如果GlobalSceneControl属性等于TRUE,则服务器应将其设置存储在其全局场景中,然后将GlobalSceneControl属性设置为FALSE,然后将OnOff属性设置为FALSE,如果支持OnTime属性,则将OnTime属性设置为0。
如果GlobalSceneControl属性等于FALSE,则服务器只能将OnOff属性设置为FALSE。
Id | Name | Type | Constraint | Quality | Default | Conformance |
---|---|---|---|---|---|---|
0 | EffectIdentifier | uint8 | desc | M | ||
1 | EffectVariant | uint8 | desc | M |
2.4.4.5 OnWithRecallGlobalScene命令
当设备被关闭时,该命令允许召回这些设置。
当收到OnWithRecallGlobalScene命令时,如果GlobalSceneControl属性等于TRUE,服务器应放弃该命令。
如果GlobalSceneControl属性等于FALSE,则同一端点上的Scene Cluster服务器应召回其全局场景,并相应地更新OnOff属性。然后OnOff服务器应将GlobalSceneControl属性设置为TRUE。
另外,当同时支持OnTime和OffWaitTime属性时,如果OnTime属性的值等于0,则服务器应将OffWaitTime属性设置为0。
2.4.4.6 OnWithTimedOff命令
允许设备打开一段的时间(期间不允许被关闭)随后关闭设备,在此命令生效期间收到的重复命令将不再重新打开设备,并且更新设备打开的时间。
Id | Name | Type | Constraint | Quality | Default | Conformance |
---|---|---|---|---|---|---|
0 | OnOffControl | map8 | 0000 000x | M | ||
1 | OnTime | uint16 | all | X | M | |
2 | OffWaitTime | uint16 | all | X | M |
当收到OnWithTimedOff命令时,如果OnOffControl字段的子字段AcceptOnlyWhenOn设置为1,且OnOff属性的值等于FALSE,则丢弃该命令。
如果OffWaitTime属性的值大于0,并且OnOff属性的值等于FALSE,则服务器应将OffWaitTime属性设置为最小值和在OffWaitTime字段中指定的值。
在所有其他情况下,服务器应将OnTime属性设置为最大值和OnTime字段中指定的值,将OffWaitTime属性设置为OffWaitTime字段中指定的值,将OnOff属性设置为TRUE。
如果OnTime和OffWaitTime属性的值都不等于Null,则服务器应每1/10秒更新一次这些属性的值,直到OnTime和OffWaitTime属性的值都等于0,如下所示:
- 如果OnOff属性的值等于TRUE,并且OnTime属性的值大于0,则服务器应减少OnTime属性的值。如果OnTime属性的值达到0,则服务器应将OffWaitTime属性设置为0和OnOff属性设置为FALSE。
- 如果OnOff属性的值等于FALSE,并且OffWaitTime属性的值大于0,则服务器应减少OffWaitTime属性的值。如果OffWaitTime属性的值达到0,则服务器将终止该更新。
2.5 Level Control
用于控制设备的特性,例如光的亮度、门的关闭程度或加热器的功率输出。
类等级:
Hierarchy | Role | PICS Code | Primary Transaction |
---|---|---|---|
Base | Application | LVL | Type 1 (client to server) |
Cluster标识:
- 0x0008 (Level Control for Lighting)
- 0x001C(Pulse Width Modulation)
2.5.1 特点
Bit | Code | Name | Def | Description |
---|---|---|---|---|
0 | OO | On/Off | 1 | Dependency with the On/Off cluster |
1 | LT | Lighting | 0 | Behavior that supports lighting applications |
2 | FQ | Frequency | 0 | Supports frequency attributes and behavior. The Pulse Width Modulation cluster was created for frequency control. |
2.5.1.1 On/Off特点
- On/Off命令在CurrentLevel属性上的影响
如果定义了OnLevel属性(即已实现且不等于Null),则它们确实具有永久效果,否则它们不会。由于上下衰落,总是有一个暂时的影响。
Command | Action On Receipt |
---|---|
On | Temporarily store CurrentLevel. Set CurrentLevel to the minimum level allowed for the device. Change CurrentLevel to OnLevel, or to the stored level if OnLevel is not defined,over the time period OnOffTransitionTime. |
Off | Temporarily store CurrentLevel. Change CurrentLevel to the minimum level allowed for the device over the time period OnOffTransitionTime. If OnLevel is not defined, set the CurrentLevel to the stored level. |
Toggle | If the OnOff attribute has the value FALSE, proceed as for the On command. Otherwise proceed as for the Off command. |
-
Level Control命令在OnOff属性上的影响
- 作为带静音按钮的音量控制器或转向设置水平,按下打开/关闭的调光器。Level变化与OnOff属性没有关联。
- 作为没有独立开/关的调光器:当Level降低到其最小值时,OnOff属性会自动变为FALSE,并且当Level增加到最小值以上时,OnOff属性将自动转为TRUE。
-
Level Control命令依赖于OnOff
在引入Options属性之前,如果在同一端点上的On/Off集群的开关属性为FALSE,那么除那些后固定为"On/Off"的命令外,所有命令都没有效果。即使开/关(OO)特征集位设置为零,这仍然是正确的。要允许此类命令发挥作用,请参阅下面的选项属性。
-
GlobalSceneControl和On/Off命令
如果收到MoveToLevel(WithOnOff)、Move(WithOnOff)、Step(WithOnOff)命令,导致OnOff属性的值发生更改,则应更新GlobalSceneControl属性的值。
2.5.2 属性
ID | Name | Type | Constraint | Quality | Default | Access | Conformance |
---|---|---|---|---|---|---|---|
0x0000 | CurrentLevel | uint8 | MinLevel to MaxLevel | SNX | null | R V | M |
0x0001 | RemainingTime | uint16 | all | 0 | R V | LT | |
0x0002 | MinLevel | uint8 | !LT : 0 to MaxLevel LT : 1 to MaxLevel | !LT : 0 LT : 1 | R V | O | |
0x0003 | MaxLevel | uint8 | MinLevel to 254 | 254 | R V | O | |
0x0004 | CurrentFrequency | uint16 | MinFrequency to MaxFrequency | PS | 0 | R V | FQ |
0x0005 | MinFrequency | uint16 | 0 to MaxFrequency | 0 | R V | FQ | |
0x0006 | MaxFrequency | uint16 | MinFrequency to max | 0 | R V | FQ | |
0x0010 | OnOffTransitionTime | uint16 | all | 0 | RW VO | O | |
0x0011 | OnLevel | uint8 | MinLevel to MaxLevel | X | null | RW VO | M |
0x0012 | OnTransitionTime | uint16 | all | X | null | RW VO | O |
0x0013 | OffTransitionTime | uint16 | all | X | null | RW VO | O |
0x0014 | DefaultMoveRate | uint8 | all | X | MS | RW VO | O |
0x000F | Options | map8 | desc | 0 | RW VO | M | |
0x4000 | StartUpCurrentLevel | uint8 | desc | XN | MS | RW VM | LT |
2.5.2.1 CurrentLevel属性
2.5.2.2 RemainingTime属性
表示当前命令完成前的剩余时间,它以1/10秒为单位。
2.5.2.3 MinLevel属性
2.5.2.4 MaxLevel属性
2.5.2.5 CurrentFrequency属性
2.5.2.6 MinFrequency属性
2.5.2.7 MaxFrequency属性
2.5.2.8 Options属性
Options属性仅在commissioning期间进行更改。
Bit | Name | Summary Description | Conformance |
---|---|---|---|
0 | ExecuteIfOff | Dependency on On/Off cluster | LT | OO |
1 | CoupleColorTempToLevel | Dependency on Color Control cluster | LT |
-
ExecuteIfOff
如果所有这些条件都正确,则命令执行不得在Options处理之后继续执行:
- 该命令是"without On/Off"命令之一:Move、Move to Level,、Step、Stop。
- OnOff Cluster与此Cluster位于同一个端点上。
- 在此端点上的OnOff Cluster的OnOff属性为FALSE。
- ExecuteIfOff位的值是0。
-
CoupleColorTempToLevel(当不支持照明功能时,该位应为零并被忽略)
- 0 - CurrentLevel属性改变与色温不关联
- 1 - CurrentLevel属性改变与Color ControlCluster的色温进行关联
2.5.2.9 OnOffTransitionTime属性
表示在同一端点上接收OnOff命令时移动到或离开目标级别所花费的时间。它以十分之一秒为单位。
实际花费的时间应尽可能接近OnOffTransitionTime时间。请注意,如果设备不能以可变的速率移动,则不应该实现OnOffTransitionTime属性。
2.5.2.10 OnLevel属性
2.5.2.11 OnTransitionTime属性
如果未实现此属性,或包含一个空值,则将使用OnOffTransitionTime属性。
2.5.2.12 OffTransitionTime属性
如果未实现此属性,或包含一个空值,则将使用OnOffTransitionTime属性。
2.5.2.13 DefaultMoveRate属性
2.5.2.14 StartUpCurrentLevel属性
Value | Action on power up |
---|---|
0x00 | Set the CurrentLevel attribute to the minimum value permitted on the device |
null | Set the CurrentLevel attribute to its previous value |
other | values Set the CurrentLevel attribute to this value |
此行为不适用于与OTA关联的重新启动。在OTA重启后,CurrentLevel属性将返回到重启之前的值。
2.5.3 命令
ID | Name | Direction | Response | Access | Conformance |
---|---|---|---|---|---|
0x00 | MoveToLevel | client ⇒ server | Y | O | M |
0x01 | Move | client ⇒ server | Y | O | M |
0x02 | Step | client ⇒ server | Y | O | M |
0x03 | Stop | client ⇒ server | Y | O | M |
0x04 | MoveToLevelWithOnOff | client ⇒ server | Y | O | M |
0x05 | MoveWithOnOff | client ⇒ server | Y | O | M |
0x06 | StepWithOnOff | client ⇒ server | Y | O | M |
0x07 | StopWithOnOff | client ⇒ server | Y | O | M |
0x08 | MoveToClosestFrequency | client ⇒ server | Y | O | FQ |
2.5.3.1 MoveToLevel命令
当收到MoveToLevel命令时,设备应从其当前级别移动到Level字段中给出的值。Level的含义依赖于设备------例如,对于一个灯,它可能意味着亮度水平。
移动应为技术上实际的连续,即不是步进函数,移动到新水平所需的时间应等于过渡时间场的值,十分之一秒,或尽可能接近此。
ID | Name | Type | Constraint | Quality | Default | Conformance |
---|---|---|---|---|---|---|
0 | Level | uint8 | 0 to 254 | M | ||
1 | TransitionTime | uint16 | all | X | M | |
2 | OptionsMask | map8 | desc | 0 | M | |
3 | OptionsOverride | map8 | desc | 0 | M |
如果TransitionTime字段的值为Null,则移动到新级别所需的时间将由OnOffTransitionTime属性决定。如果OnOffTransitionTime属性不存在,则设备应尽可能快地移动到新的级别。
如果设备不能以可变的速率移动,则可以忽略TransitionTime字段。
2.5.3.2 Move命令
当收到Move命令时,设备应首先创建并处理一个临时Options位图,然后连续地从其当前水平方向向上或向下移动。
ID | Name | Type | Constraint | Quality | Default | Conformance |
---|---|---|---|---|---|---|
0 | MoveMode | enum8 | desc | M | ||
1 | Rate | uint8 | all | X | M | |
2 | OptionsMask | map8 | desc | 0 | M | |
3 | OptionsOverride | map8 | desc | 0 | M |
-
MoveMode
- 0x00 - Up (以Rate字段中给出的速率增加设备的级别。如果级别达到设备允许的最大值,则停止。)
- 0x01 - Down(以Rate字段中给出的速率降低设备的级别。如果级别达到设备允许的最小值,则停止。)
-
Rate
指定以每秒为单位的移动速率。实际的移动速率应该尽可能接近于设备所允许的这个速率。如果Rate字段等于Null,则应使用DefaultMoveRate属性中的值。但是,如果Rate字段等于Null,并且不支持DefaultMoveRate属性,或者如果Rate字段等于Null,并且DefaultMoveRate属性的值等于Null,则设备应尽快移动。如果设备不能以可变的速率移动,则可以忽略该字段。
2.5.3.3 Step命令
当收到Step命令时,设备应首先创建并处理一个临时Options位图,然后从其当前水平方向向上或向下移动。
ID | Name | Type | Constraint | Quality | Default | Conformance |
---|---|---|---|---|---|---|
0 | StepMode | enum8 | desc | M | ||
1 | StepSize | uint8 | all | M | ||
2 | TransitionTime | uint16 | all | X | M | |
3 | OptionsMask | map8 | desc | 0 | M | |
4 | OptionsOverride | map8 | desc | 0 | M |
-
StepMode
- 0x00 - Up (按StepSize字段为单位增加CurrentLevel属性,或者直到设备允许的最大值。在后一种情况下,应按比例减少过渡时间。)
- 0x01 - Down(按StepSize字段为单位降低CurrentLevel属性,或者直到设备允许的最小值。在后一种情况下,应按比例减少过渡时间。)
-
TransitionTime
指定执行该步骤所应花费的时间,单位为十分之一秒。一个步骤是改变StepSize字段为单位的CurrentLevel属性。实际花费的时间应该尽可能接近这个设备的能力。如果TransitionTime字段等于Null,则设备应尽快移动。如果设备不能以可变的速率移动,则可以忽略该字段。
2.5.3.4 Stop命令
当收到Stop命令时,设备应首先创建并处理一个临时Options位图。如果当前正在处理MoveToLevel、Move、Step命令(及其with On/Off的变体命令)将终止。在收到Stop命令时,CurrentLevel属性的值应保留在当前值处, RemainingTime属性应设置为0。
2.5.3.5 MoveToClosestFrequency命令
当收到MoveToClosestFrequency命令时,设备应将其当前频率更为请求的频率,或其能产生的最近频率。如果设备不能产生近似于频率,则它将返回一个默认响应,错误代码为CONSTRAINT_ERREROR。
2.5.3.6 'With On/Off'变体命令
与MoveToLevel、Move、Step命令相比,MoveToLevelWithOnOff,、MoveWithOnOff、StepWithOnOff命令具有相同的数据字段。它们也有相同的效果,除了下面的添加内容。
在开始任何命令之前将CurrentLevel属性设置为超过设备允许的最小值以上,同一端点上的On/Off cluster的On/Off属性应被设置为TRUE("On")。
如果有任何命令具有将CurrentLevel属性设置为设备允许的最小值,同一端点上的On/Off cluster的On/Off属性应被设置为FALSE("Off")。
StopWithOnOff命令与Stop命令相同。