1、APP控制指令支持
1.1 APP指令支持
APP开始指令:下发cloudRecipeStatus=1 (食谱开始)、食谱步骤指令集合(自定义);
APP暂停指令:下发workSwitch=2;
APP继续指令:下发workSwitch=3;
APP停止指令:下发workSwitch=0;
食谱制作完成:下发cloudRecipeStatus=0(食谱结束);
1.2 设备上报能力支持
(1)属性上报
步骤执行剩余时间上报:lefttime(剩余时间);
单品属性(自定义);
(2)步骤执行完成上报
步骤执行完成后上报:cloudRecipeStepDoneEvent ;
设备状态上报:workstatus=3 (待机状态)
(3)断电重上电上报;
重新上电上报:workstatus=0;(停止状态)
(4)设备端暂停上报:
设备端暂停上报:workstatus=2; (暂停状态)
1.3 端上互斥逻辑支持
(1)云食谱运行阶段端上操作上报
设备端操作事件:deviceSideOperationEvent;
(2)是否操作互斥由端上决定,根据云端下发的云食谱开始判断是否正在食谱进行中;
如果支持设备端上操作,则执行完成步骤后,上报步骤执行完成:cloudRecipeStepDoneEvent事件;
如果不支持设备端上操作,则上报workstatus=0(停止状态);
1.4 异常情况
(1)指令丢失情况——该情况由音响端和设备端协议保证;
如果是食谱结束指令未收到;端上可根据上报下一步事件时间开始,在一定时间内未收到云端指令(如5分钟),判断云食谱已结束;互斥逻辑可解除;
(2)设备异常不上报情况;
云端食谱20分钟未收到上报信息自动停止食谱,且不会下发任何指令;
(3)设备断电情况;
断电20分钟内容未重新上电,云端食谱自动停止;设备重新上电上报workstatus=0;(停止状态)结束食谱;
1.5自定义食谱步骤demo
step1.set workswitch = 1
step2.set workswitch = 2
step3.set workswitch = 0
2、串口部分通信协议
2.1 调用行业设备控制接口后
FF 00 00 08 D1 A8 01 10 A8 06 01 00 41 下发云食谱状态=开始
FF 00 00 07 D1 A8 01 11 35 01 01 C9 下发worswitch = 1
2.2 设备上报云食谱完成事件后
FF 00 00 07 D4 A8 01 02 09 F0 2D AC 上报云食谱完成事件
FF 00 00 04 D5 A8 01 02 84 收到上报成功后收到相同tid回复
FF 00 00 07 D1 A8 01 19 35 01 02 D2 下发 workswitch =2
2.3 自定义食谱步骤最后一步完成后上报食谱完成事件
FF 00 00 07 D4 A8 01 02 09 F0 2D AC 上报云食谱完成事件
FF 00 00 04 D5 A8 01 02 84 收到上报成功后收到相同tid回复
FF 00 00 08 D1 A8 01 16 A8 06 00 00 46 下发 云食谱状态 = 结束
2.4 设备端需要上报当前状态&剩余时间
FF 00 00 0D D4 A8 01 01 01 F0 07 2F 01 A0 00 00 00 53 工作状态&剩余时间(感应中&160S)
2.5 设备端一帧上报多属性
工作状态&剩余时间&准备时间&杯体状态&开盖提醒
FF 00 00 17 D4 A8 01 01 01 F0 07 2F 01 A0 00 00 00 84 05 64 00 12 04 02 B1 06 01 1A
2.6 云端下发自定义食谱多步骤
启动开关&云食谱状态&运行时间&杯体状态
FF 00 00 14 D1 A8 01 06 35 01 01 A8 06 01 00 2D 01 B8 0B 00 00 12 04 03 84
3、数据示例
3.1 下发云食谱状态
0xFF | 0x00 | 0x00 | 0x07 | 0xd1 | 0xa8 | 0x01 | 0x10 | 0xA8 | 0x06 | 0x01 | 0x00 | 0x41 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
mesh透传指令 | 数据长度 | opcode:d101a8 | tid | 0x06A8:云食谱状态 | 开始 |
求和校验 |
3.2 下发自定义步骤内容(启动开关:开)
0xFF | 0x00 | 0x00 | 0x07 | 0xd1 | 0xa8 | 0x01 | 0x11 | 0x35 | 0x01 | 0x01 | 0xC9 |
---|---|---|---|---|---|---|---|---|---|---|---|
mesh透传指令 | 数据长度 | opcode:d101a8 | tid | 0x0135:启动开关 | 开 | 求和校验 |
3.3 设备主动上报食谱完成事件
0xFF | 0x00 | 0x00 | 0x07 | 0xd4 | 0xa8 | 0x01 | 0x02 | 0x09 | 0xF0 | 0x2D | 0xAC |
---|---|---|---|---|---|---|---|---|---|---|---|
mesh透传指令 | 数据长度 | opcode:d401a8 | tid | F009:事件触发 | 云食谱完成 | 求和校验 |
3.4 设备主动上报必上报属性(状态&剩余时间)
0xFF | 0x00 | 0x00 | 0x07 | 0xd4 | 0xa8 | 0x01 | 0x02 | 0x01 | 0xF0 | 0x01 | 0x2F | 0x01 | 0xA0 | 0x00 | 0x00 | 0x00 | 0x4D |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mesh透传指令 | 数据长度 | opcode:d401a8 | tid | F001:工作状态 | 开始/继续 | 0x012F:剩余时间 | A0:160S | 求和校验 |
3.5 上报操作名
0xD4 | 0xA8 | 0x01 | 0x01 | 0x09 | 0xF0 | 0x2F | 0xEB | 0x06 | 0x12 |
---|---|---|---|---|---|---|---|---|---|
Opcode | TID | Attr Type | Attr Value | opreationName Type |
operationname Value | ||||
0xD401A8 | 01 | 事件 (0xF009) | 设备端操作事件(0x2F) | 操作名属性 (0x06EB) |
operationname (自定义) |
有关操作名属性数值对应的名称,需要厂商针对自己产品的功能定义一份表格来说明含义
3.6 针对同时下发多云食谱步骤设备回复ACK
0xFF | 0x00 | 0x00 | 0x14 | 0xd3 | 0xa8 | 0x01 | 0x06 | 0x35 | 0x01 | 0x01 | 0xA8 | 0x06 | 0x01 | 0x00 | 0x2D | 0x01 | 0xB8 | 0x0B | 0x00 | 0x00 | 0x12 | 0x04 | 0x03 | 0x87 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mesh透传指令 | 数据长度 | opcode:d301a8 | tid | 0x0135:启动开关 | 开始 |
云食谱状态:0x06A8 | 0x0001:开始 | 0x012D:剩余时间 | 剩余时间时长 | 0x0412:杯体状态 | 0x03:标准 | 求和校验 |
注意事项:如果用户账号下有多台音箱情况下,需要厂商设备端根据tid做去重防止重复回复的情况