四. 开发三路灯
注意:由于 Matter 模型三路灯彩光采用的 HSV 模型,因此这里的功能点定义和 DP 模型有较大差别
参考原型
功能介绍
- 开关:控制灯具的开关状态。
- 模式:控制灯具的工作模式,包括白光、彩光、场景、音乐模式,在三路灯下,设备灯具只允许上报 colour 彩光模式。
- HS 颜色调节:控制灯具的彩光值中的色相和饱和度,数值范围均为 0-254,转换为字符串则为 HHSS 这样的格式,第一个字节代表 Hue 值的十六进制,第二个字节代表 Saturation 值的十六进制,如 00fe 代表色相为 0,饱和度为 254,最终应用到 UI 层,需要分别将色相和饱和度分别从
0-254
转成0-360
和0-100
。 - 亮度调节:控制灯具的彩光亮度,即 HSV 模型中的 V,数值越大则亮度越高。
功能定义
DP ID | 功能点名称 | 标识符 | 数据传输类型 | 数据类型 | 功能点属性 | |
20 | 开关 | switch | 可下发可上报(rw) | bool | ||
21 | 模式 | work_mode | 可下发可上报(rw) | enum | 枚举值: white, colour, scene, music | |
23 | HS 颜色调节 | hs_color_set | 可下发可上报(rw) | value | 最大长度: 255 | |
85 | 亮度调节 | brightness_control | 可下发可上报(rw) | value | 数值范围: 1-254, 间距: 1, 倍数: 0, 单位: |
与 DP 模型的区别
- 开关的功能点标识符不一致,在 Matter 模型下标识符为
switch
,DP 模型下为switch_led
。 - 彩光调节的逻辑不同,在 Matter 模型下,彩光调节需要分为两个功能点,即
hs_color_set
和brightness_control
,即控制彩光的色相或饱和度时下发hs_color_set
,在控制彩光的亮度时下发brightness_control
,而在 DP 模型下,彩光调节只需要一个功能点,即colour_data
,直接控制灯具的色相饱和度和亮度。
DP ID | 功能点名称 | 标识符 | 数据传输类型 | 数据类型 | 功能点属性 | |
20 | 开关 | switch_led | 可下发可上报(rw) | bool | ||
21 | 模式 | work_mode | 可下发可上报(rw) | enum | 枚举值: white, colour, scene, music | |
24 | 彩光 | colour_data | 可下发可上报(rw) | string |
-
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。
五. 开发四路灯
注意:由于 Matter 模型四路灯彩光采用的 HSV 模型,因此这里的功能点定义和 DP 模型有较大差别
参考原型
功能介绍
- 开关:控制灯具的开关状态。
- 模式:控制灯具的工作模式,包括白光、彩光、场景、音乐模式,在四路灯下,设备灯具只允许上报 white 白光模式或 colour 彩光模式。
- *白光亮度:该功能点不会对设备产生实际的影响,只用于 UI 层判断是否为四路灯,因为 brightness_control 既可以控制白光亮度也可以控制彩光亮度。*
- HS 颜色调节:控制灯具的彩光值中的色相和饱和度,数值范围均为 0-254,转换为字符串则为 HHSS 这样的格式,第一个字节代表 Hue 值的十六进制,第二个字节代表 Saturation 值的十六进制,如 00fe 代表色相为 0,饱和度为 254,最终应用到 UI 层,需要分别将色相和饱和度分别从
0-254
转成0-360
和0-100
。 - 亮度调节:根据当前模式的状态固件来判断控制灯具的白光亮度还是彩光亮度,数值越大则亮度越高,在彩光模式下代表的是 HSV 模型中的 V。
功能定义
DP ID | 功能点名称 | 标识符 | 数据传输类型 | 数据类型 | 功能点属性 | |
20 | 开关 | switch | 可下发可上报(rw) | bool | ||
21 | 模式 | work_mode | 可下发可上报(rw) | enum | 枚举值: white, colour, scene, music | |
22 | 白光亮度 | bright_value | 可下发可上报(rw) | value | 数值范围: 10-1000, 间距: 1, 倍数: 0, 单位: | |
23 | HS 颜色调节 | hs_color_set | 可下发可上报(rw) | value | 最大长度: 255 | |
85 | 亮度调节 | brightness_control | 可下发可上报(rw) | value | 数值范围: 1-254, 间距: 1, 倍数: 0, 单位: |
与 DP 模型的区别
- 开关的功能点标识符不一致,在 Matter 模型下标识符为
switch
,DP 模型下为switch_led
。 - 彩光调节的逻辑不同,在 Matter 模型下,彩光调节需要分为两个功能点,即
hs_color_set
和brightness_control
,即控制彩光的色相或饱和度时下发hs_color_set
,在控制彩光的亮度时下发brightness_control
,而在 DP 模型下,彩光调节只需要一个功能点,即colour_data
,直接控制灯具的色相饱和度和亮度。 - 白光亮度调节的逻辑不同,在 Matter 模型下,在模式为 white 时,调节
brightness_control
控制的是白光亮度,在模式为 colour 时,调节brightness_control
控制的是彩光亮度,而在 DP 模型下,调节白光亮度的功能点固定为bright_value
。
DP ID | 功能点名称 | 标识符 | 数据传输类型 | 数据类型 | 功能点属性 | |
20 | 开关 | switch_led | 可下发可上报(rw) | bool | ||
21 | 模式 | work_mode | 可下发可上报(rw) | enum | 枚举值: white, colour, scene, music | |
22 | 白光亮度 | bright_value | 可下发可上报(rw) | value | 数值范围: 10-1000, 间距: 1, 倍数: 0, 单位: | |
24 | 彩光 | colour_data | 可下发可上报(rw) | string |
注意事项
- 色温调节数值范围为 153-370,对应的
kelvin=1000000 / 色温值
,例如色温值为 153,则 kelvin 值为 6536。
-
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。