更新时间:2022-02-24 GMT+08:00

设备状态更新

接口功能

通过该接口更新设备的状态信息,包括直连设备与所管理的非直连设备。设备离线、上线均可通过该接口刷新设备状态信息。

直连设备状态通过设备的登录状态进行管理,当直连设备连接断开则表示设备离线,当直连设备连接或重连成功,则表示设备上线,无需通过该接口进行刷新。故建议开发者使用该接口刷新非直连设备的状态。

接口描述

1
HW_INT IOTA_DeviceStatusUpdate(HW_UINT uiCookie, const HW_CHAR *pcDeviceId, const HW_CHAR *pcStatus, const HW_CHAR *pcStatusDetail);

参数说明

字段

必选/可选

类型

描述

uiCookie

可选

HW_UINT

Cookie有效值为1-65535。

pcDeviceId

必选

HW_CHAR

设备Id,该参数必须带结束符‘\0'。

pcStatus

必选

HW_CHAR

设备状态,该参数必须带结束符‘\0'。

  • 在线: ONLINE。
  • 离线: OFFLINE。

pcStatusDetail

必选

HW_CHAR

设备状态详细信息,该参数必须带结束符‘\0'。

  • 无:NONE。
  • 配置等待:CONFIGURATION_PENDING。
  • 通信错误:COMMUNICATION_ERROR。
  • 配置错误:CONFIGURATION_ERROR。
  • 桥接器离线:BRIDGE_OFFLINE。
  • 固件升级:FIRMWARE_UPDATING。
  • 循环任务:DUTY_CYCLE。
  • 未激活:NOT_ACTIVE。

接口返回值

参见2. 函数标准返回值

返回结果

广播名称

广播参数

成员

描述

IOTA_TOPIC_DEVUPDATE_RSP/{deviceId}

HW_MSG对象

设备状态更新结果。

示例

1
2
3
HW_CHAR *pcDeviceId = stDevice.pcDeviceId; 

IOTA_DeviceStatusUpdate(0, pcDeviceId, ONLINE , NONE);

然后等待命令执行结果

1
2
3
4
5
6
7
8
9
// 开发者注册该函数进行状态更新后的处理 
HW_iNT Device_StatusUpdateHandler(HW_UiNT uiCookie, HW_MSG pstMsg) 
{
    HW_cHAR pcCmdContentl;
    pcCmdContent = HW_MsgGetStr(pstMsg, EN_IOTA_DEVUPDATE_IE_RESULT);
    pcCmdContent = HW_MsgGetStr(pstMsg, EN_IOTA_DEVUPDATE_IE_DEVICEID);
    return 0;
}
//绑定广播接收处理函数 HW_BroadCastReg(“IOTA_TOPIC_DEVUPDATE_RSP”, Device_StatusUpdateHandler);