插座

厂商接入开关关注点

  • 设备入网需要按照《小度蓝牙Mesh软件规范》(参考基础规范)来实现
  • 开关所有的model均需要自行订阅组地址0xC024,当用户表达的query是『打开所有的开关』时,音箱的控制消息会发往组播地址0xC024
  • 灯泡需要支持Sig mesh的Relay, Proxy功能, 可选择性实现GATT OTA

设备复位方法

  • 新设备开箱通电,默认自动进入配网状态
  • 人工重置设备,长按开关按键6秒左右,指示灯开关闪烁3 ~ 10次,进入配网状态

config约定

  • 订阅『插座』品类的分组地址: 0xC024
    • 用于支持『打开所有的插座』
  • 订阅『插座』品类默认位置地址:0xC024
    • 用于将设备加入到默认的位置,该位置用户可以在小度App中动态修改为『卧室』、『餐厅』等,每个位置会有一个对应的分组地址
  • 配网状态为指示灯开关闪烁3 ~ 10,持续30分钟, 间隔2秒发送一次Unprovision Device Beacon,单次发包网络层间隔10~20ms,发送24次
  • 配网Provision、Config过程,超时10秒没收到回复,自动进入Unprovision Device Beacon广播状态,持续30分钟
  • 插座开关入网后默认打开;断电重新上电,断电前为开则打开;断电前为关则关闭

控制命令

具体采用的控制model和model中的所有参数字段枚举

  • 开关:Generic OnOff Client Model

状态同步

插座上电启动或设备状态被其他设备(如有,例如手机App、墙面开关等)改变后通知音箱

  • 针对插座,用户手动打开或关闭触发插座状态变化,必须有状态上报
  • 除了音箱主动控制引发的状态改变,其他的所有的状态改变,都需要有状态上报
  • 外设的F8或者F9的状态消息只发送给0xF000地址
  • 状态上报收到FA之后停止发送,一直没有收到FA消息,发送完预定次数之后停止发送
  • 建议的广播参数:间隔随机10 ~ 20ms,持续广播360ms
  • 开关: Data Trans Client Model(Opcode = 0xF81C01, AttributeType = 0x0100)

分组

  • 设备中有一个默认分组,后续无论add/delete/overwrite,都需要确保默认分组永远订阅
  • 插座默认分组: 0xC024
  • 设备支持add/delete/overwrite的分组
  • 建议外设支持订阅N个分组(N>=128)

删除

  • 设备支持删除功能,删除成功之后设备给音箱恢复删除成功状态,并进入配网模式

中继

设备支持中继Relay功能

  • 被中继的信息sequce不变,TTL - 1
  • 中继能力要满足间隔一堵墙
  • 中继的消息应用层只转发一个周期,应用层不需要重试

TTL

  • 控制回复消息TTL设置为10
  • 状态上报TTL设置为10

心跳

  • 心跳包发送间隔时间为16s,每次间隔10~20ms,广播360ms

支持的控制语句

  • 开关
    • 『打开插座』
    • 『打开所有的插座』
    • 『1小时候关闭插座』
    • 『晚上22点关闭插座』
    • 『明天早上6点关闭插座』