Skip to content

设备类型代码 ​

type 数字代码(hapi 内部) ​

hapi 的 device_info 中每个设备都有 type 字段,用于区分设备类型:

type设备说明
1零火开关BLE Mesh 开关
2单火开关BLE Mesh 开关
4智能灯支持亮度调节
5窗帘电机支持开/关/停/位置
9插卡取电
10温控器/红外payload.type 区分子类型
13语音控制器voice_controller,配合 /get_voice_controller_map 路由
22集控亮度灯hapi deviceTypeArr[22]='smart_light_c';deviceTypeNames[22]='集控亮度灯'

小程序设备标识(device_info key) ​

key中文名说明
wangguanchazuo网关插座Zigbee 网关,作为 Mesh 主节点
kaiguan1 / kaiguan2 / kaiguan3 / kaiguan4一/二/三/四位开关BLE Mesh 开关,按按键拆分
dimmingcontroller调光灯支持亮度调节
tiaoguang2调光调色灯支持亮度+色温调节
curtainmotor窗帘电机支持开/关/停/位置
chunagliankaiguan*窗帘开关控制窗帘的开关面板
renticunzai人体存在传感器人体感应检测
ble_lock蓝牙门锁通过 system topic 控制
voice_controller语音控制器type=13,离线语音控制设备

修订记录 ​

  • 2026-09-26 代码回源修正(依据 service-lightsmart-hapi/src/common/device.js:2、app-lightsmart-ztutil/src/protocol.js:20-40、hapi/src/utils/device.js:489-506、hapi/src/service/beancomm.js:1500-1527):
    • type 22 由「插卡」更正为 smart_light_c(集控亮度灯);「插卡取电」为 type 9。
    • 零火开关 on_off 编码由 on(01)/off(00) 更正为 on(10)/off(01)(每路 2 bit,2=开 / 1=关)。原写法按文档实现会导致开关反相。

设备对象字段 ​

字段类型说明
macstring设备 MAC 地址(12 位 hex)
typenumber设备类型数字代码
naddrstringBLE Mesh 网络地址
subtypenumber子类型(>0 表示有子按键)
subNumnumber子设备数量(>4 时 oe=true,8 路开关)
namestring设备名称
onlineboolean在线状态

物模型定义 ​

零火开关 (type=1) ​

属性

属性名opcode取值范围说明
on_off02on(10=2) / off(01=1)开关状态(每路 2 bit;00=不变)

服务:开 / 关(按路 index 控制)

事件:状态变更 → 上报 on_off

智能灯 ​

属性

属性名opcode取值范围说明
on_off02on / off开关状态
brightness030-100亮度百分比
colour_temperature040-100色温
sub_brightness9c0-100[]子灯亮度(按索引)
rgb4c6 字节 hexRGB 颜色

服务:开 / 关 / 设置亮度 / 增减亮度 / 设置色温 / 增减色温 / 设置子灯亮度 / 增减子灯亮度 / 设置子灯色温 / 增减子灯色温

窗帘电机 (type=5) ​

属性

属性名opcode取值范围说明
curtain_run05open(01) / close(02) / stop(03)运行状态
position060-100位置百分比

服务:开窗帘 / 关窗帘 / 停窗帘 / 开到位置 / 关到位置

温控器 ​

属性

属性名opcode取值范围说明
on_off02on / off开关
ac_temperature1b16-30空调温度
ac_wind_speed1chigh / middle / low / auto风速
ac_mode1dcold / warm / fan / auto模式

服务:开 / 关 / 设置温度 / 增减温度 / 设置模式 / 设置风速 / 增减风速 / 组合设置(setACAdv)

红外遥控 ​

属性

属性名opcode说明
ir_data8f红外编码数据

服务:开/关(TV/机顶盒) / 增减音量 / 静音 / 增减频道 / 切换频道 / 红外学习

门磁传感器 ​

属性

属性名opcode取值范围说明
door_sensor0aopen / close门磁状态

事件:开门 → door_sensor=open / 关门 → door_sensor=close

人体感应 ​

属性

属性名opcode取值范围说明
human_body0ctrue / false人体存在

事件:人体检测 → human_body=true / 人体离开 → human_body=false

插卡取电 ​

属性

属性名opcode取值范围说明
plug_card0e有卡 / 无卡插卡状态

data 值:00=无卡, 01=有卡, 02=上电插卡虚拟事件, 03=无卡取电拔卡

温度传感器 ​

属性

属性名opcode取值范围说明
sensor_temperature16-40~85环境温度(℃,2 字节有符号小端序 / 100)

场景 ​

场景不是物理设备,通过 BLE Mesh 广播地址执行。

服务:执行场景 → genExecuteScene(scene_id) → 广播地址 bcc0 + 01 + sceneId_hex

透传 ​

服务:透传 → opcode 15 + 原始 hex 数据

BLE Mesh opcode 总表 ​

opcode设备类型属性/服务说明
02开关/灯/空调on_off开关控制(status_byte 编码)
03灯brightness设置亮度
04灯colour_temperature设置色温
05窗帘curtain_run开/关/停
06窗帘position位置控制
0a门磁door_sensor门磁状态
0c人体感应human_body人体存在
0e插卡取电plug_card插卡状态
15透传passthrough原始数据透传
16温度传感器sensor_temperature环境温度
1b温控器ac_temperature空调温度
1c温控器ac_wind_speed风速
1d温控器ac_mode空调模式
2f灯brightness+增加亮度
30灯brightness-降低亮度
31灯colour_temp+增加色温
32灯colour_temp-降低色温
33温控器ac_temp+增加温度
34温控器ac_temp-降低温度
35温控器fan_speed+增加风速
36温控器fan_speed-降低风速
458 路开关sub_on_off8 路开关状态
4cRGB 灯rgbRGB 颜色
8f红外ir_data红外发射
9c灯sub_brightness子灯亮度
9d灯sub_colour_temp子灯色温
a1灯sub_brightness+增加子灯亮度
a2灯sub_brightness-降低子灯亮度
a5灯sub_colour_temp+增加子灯色温
a6灯sub_colour_temp-降低子灯色温
bcc0场景/禁用scene/disable广播地址

msgType 定义 ​

msgType含义
30控制指令(ble_in 下发)
80状态响应(ble_out 上报)
32查询指令
0c登录指令
04Mesh 配置
01BLE 名称设置
12扫描指令
92设备列表上报