设备管理
1. 设备配置网络接口格式
void deviceConfig(String action, String params, DeviceConfigCallback callback)
1.1 配网
action: EasyConfig
params:
{
"ssid":"Broadlink", // wifi ssid
"password":"12345678", // wifi密码
"timeout": 60, // 配置超时时间,单位秒
"pid" : "", // 配置设备的产品信息,可以为空
"version": 2 // 配网版本
}
callback返回:
{
"status":0,
"deviceInfo": deviceInfo //配置成功上的设备信息
}
1.2 取消配置
action: EasyConfigCancel
params:
空
callback返回:
{
"status":0 ,
"msg": "success"
}
1.3 扫描局域网设备
action: ScanDevices
params:
{
"did" : "", // 扫描设备信息,如果为空,则返回局域网所有设备
}
callback返回:
{
"status":0,
"list": [
deviceInfo, //设备信息
...
]
}
2. 设备控制接口格式
String deviceControl(String action, String endPointInfo, String subEndPointInfo, String params, BLLetAsyncRequestCallbacker callbacker)
- 如果控制的不是子设备,那 subEndPointInfo 为 nil。endPointInfo 和 subEndPointInfo 格式相同。
- 具体控制参数(”params” “vals”)需要从设备的 Profile 中获取得知
2.1 设备脚本Profile查询
- 脚本的Profile包含有设备的相关信息,标准的控制指令等。
- 由于同一类的产品型号Pid的产品脚本都是相同的,所以同一类的产品只需要下载一份脚本即可。
- 如果没有下载该脚本,SDK会默认下载该脚本到指定路径下。
action: QueryProfile
params:
{
"scriptPath" : "xxxxxx" // 指定Profile路径 可以为空,则查询默认路径下文件
}
返回:
{
"status":0,
"msg":"success"
"profile": "xxxxxx" // 获取到的Profile内容
}
2.2 设备标准控制
action: DevControl
params:
{
"did":"xx",
"srv":"",
"act":"set", // 设备控制操作 "set" "get"
"params":["pwr"], // 设备控制参数
"vals"[{"val":1,"index":0}] // 设备控制参数对应值
}
返回:
{
"status":0,
"msg":"success"
"data":{
"params":["pwr"],
"vals"[{"val":1,"index":0}]
}
}
2.3 设备透传控制
action: DevPassthough
params:
{
"data": "xxxxxxx" // 透传数据 Base64 编码
}
返回:
{
"status":0,
"msg":"success",
"data" : "xxxxxxxx" // 返回数据 Base64 编码
}
2.4 设备状态查询
action: DevStateQuery
params:
{
}
返回:
{
"status":0,
"msg":"success",
"state" : 1 // 设备状态
}
设备状态
状态值 | 设备状态 |
---|---|
0 | 初始化状态 |
1 | 局域网状态 |
2 | 远程状态 |
3 | 离线状态 |
2.5 设备历史数据查询
action: GetDeviceHistory
params:
{
"reportType":"", //数据上报的报表类型
"startTime":"", //查询起始时间 格式 "yyyy-MM-dd_HH:mm:ss"
"endTime":"", //查询结束时间 格式 "yyyy-MM-dd_HH:mm:ss"
"familyId":"", //终端所在家庭ID,可以不传
}
返回:
{
"status":0 , //获取结果
"msg": "success",
"data": "xxx" // 数据列表
}
reportType
参数值 | 参数说明 |
---|---|
fw_currentstate_v1 | 设备属性(默认报表) |
fw_energystatus_v1 | 通用电工历史数据 |
fw_energystats_v1 | 通用电工 电量统计 |
fw_spminielec_v1 | SP Mini 电量统计 |
fw_spminiswitch_v1 | SP Mini 开关记录 |
fw_s1push_v1 | S1 推送数据 |
2.6 设备固件版本查询
action: QueryFirmware
params:
{
}
返回:
{
"status":0 , //获取结果
"msg": "success",
"version": "xxx" // 设备固件版本号
}
2.7 设备固件升级
action: UpgradeFirmware
params:
{
"url": "xxxxxxxxx" //新固件下载地址
}
返回:
{
"status":0 , //获取结果
"msg": "success",
}
注意:
- 命令发送结果,并非固件升级结果。
- 固件升级结果需要观察设备状态,设备重启,指示灯慢闪重新连接上网络之后则升级成功。
3. 子设备管理接口格式
void subDeviceManagement(String action, String endPointInfo, String params,SubDeviceManagementCallback callback)
3.1 添加子设备
action: AddSubDevice
params:
{
"pid":"xxxx" //需要添加的子设备的产品pid
}
callback返回:
{
"status":0 ,
"subDeviceInfo": deviceInfo //配置成功上的设备信息
}
3.2 删除子设备
action: DelSubDevice
params:
{
"sDid":"" //需要删除的子设备的唯一标识符did
}
callback返回:
{
"status":0
}
3.3 获取子设备列表
action: QuerySubDevice
params:
{
}
callback返回:
{
"status": 0,
"list" : [ // 改次查询到的子设备列表
deviceInfo,
...
]
}