设备管理接口

更新时间:2022-11-24 09:20:22下载pdf

本文介绍了综合 SDK 的设备管理接口。

结构体说明

TY_IOT_DEV_CBS_S

typedef struct {
    GW_PERMIT_ADD_DEV_CB            dev_add;
    GW_DEV_DEL_CB                   dev_del;
    GW_DEV_GRP_INFM_CB              dev_grp;
    GW_DEV_SCENE_INFM_CB            dev_sce;
    GW_BIND_DEV_INFORM_CB           dev_bind_ifm;
    GW_DEV_HB_SEND_CB               dev_hb;
    GW_DEV_UPGRADE_CB               dev_upgrade;
    GW_DEV_RESET_CB                 dev_reset;
    GW_DEV_WAKEUP_CB                dev_wakeup;
    #if defined(ENABLE_SIGMESH) && (ENABLE_SIGMESH==1)
    GW_DEV_SIGMESH_TOPO_UPDAET_CB   bt_topo_update;
    GW_DEV_SIGMESH_DEV_CACHE_DEL_CB bt_cache_del;
    GW_DEV_SIGMESH_CONN_CB          bt_conn;
    GW_BIND_BLE_MESH_DEV_INFORM_CB  bt_bind_ifm;
    #endif
} TY_IOT_DEV_CBS_S;

功能说明(Summary)

子设备管理回调结构体。

成员说明

参数名称 说明
dev_add 子设备添加处理回调接口,详见 GW_PERMIT_ADD_DEV_CB
dev_del 子设备移除处理回调接口,详见 GW_DEV_DEL_CB
dev_grp 子设备群组处理回调接口,详见 GW_DEV_GRP_INFM_CB
dev_sce 子设备场景处理回调接口,详见 GW_DEV_SCENE_INFM_CB
dev_bind_ifm 子设备绑定结果通知回调接口,详见 GW_BIND_DEV_INFORM_CB
dev_hb 子设备心跳超时通知回调接口,详见 GW_DEV_HB_SEND_CB
dev_upgrade 子设备升级通知回调接口,详见 GW_DEV_UPGRADE_CB
dev_reset 子设备重置处理回调接口,详见 GW_DEV_RESET_CB
dev_wakeup 子设备唤醒处理回调接口,详见 GW_DEV_WAKEUP_CB
bt_topo_update 蓝牙特有的回调接口,子设备拖拽添加到网关处理回调接口,详见 GW_DEV_SIGMESH_TOPO_UPDAET_CB
bt_cache_del 蓝牙特有的回调接口,子设备拖拽从网关移除处理回调接口,详见 GW_DEV_SIGMESH_DEV_CACHE_DEL_CB
bt_conn 蓝牙特有的回调接口,网关按需连接子设备处理回调接口,详见 GW_DEV_SIGMESH_CONN_CB
bt_bind_ifm 蓝牙特有的回调接口,子设备绑定结果通知回调接口,详见 GW_BIND_BLE_MESH_DEV_INFORM_CB

接口说明

tuya_iot_reg_gw_mgr_cb

OPERATE_RET tuya_iot_reg_gw_mgr_cb(IN GW_PERMIT_DEV_TP_T tp, 
                                   IN TY_IOT_DEV_CBS_S *cbs)

功能说明

注册子设备管理回调接口。

参数说明

参数名称 说明
tp 子设备类型,定义如下:
< 10,为 SDK 内部使用
>= 10,开发者使用
cbs 子设备管理回调结构体

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_gw_bind_dev

OPERATE_RET tuya_iot_gw_bind_dev(IN CONST GW_PERMIT_DEV_TP_T tp, 
                                 IN CONST USER_DEV_DTL_DEF_T uddd, 
                                 IN CONST CHAR_T *id,
                                 IN CONST CHAR_T *pk, 
                                 IN CONST CHAR_T *ver)

功能说明

绑定子设备接口。

参数说明

参数名称 说明
tp 子设备类型,定义如下:
< 10,为 SDK 内部使用
>= 10,开发者使用
uddd 开发者自定义,按位存储设备类型等信息
id 子设备的设备 ID,长度不能超过 25 个字节
pk 子设备的产品 ID,长度不能超过 16 个字节
ver 子设备的固件版本号,长度不能超过 10 个字节

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_gw_unbind_dev

OPERATE_RET tuya_iot_gw_unbind_dev(IN CONST CHAR_T *id)

功能说明(Summary)

解绑子设备接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_gw_dev_hb_init

OPERATE_RET tuya_iot_gw_dev_hb_init(VOID)

功能说明

子设备心跳管理能力初始化接口。

参数说明

参数名称 说明
VOID /

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_set_dev_hb_timeout

OPERATE_RET tuya_iot_set_dev_hb_timeout(IN CONST CHAR_T *dev_id, 
                                        IN CONST TIME_S hb_timeout_time);

功能说明

设置子设备心跳超时时间接口。网关在设置的时间内未收到子设备的心跳刷新,网关会将该子设备设置为离线状态。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
hb_timeout_time 心跳超时时间,单位为秒。如果设置为 0xffffffff,表示该子设备一直在线

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_fresh_dev_hb

OPERATE_RET tuya_iot_fresh_dev_hb(IN CONST CHAR_T *dev_id)

功能说明

子设备心跳刷新接口,该接口用于设备保活。

参数说明

参数名称 说明
dev_id 子设备的设备 ID

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_dev_traversal

DEV_DESC_IF_S *tuya_iot_dev_traversal(INOUT VOID **iterator)

功能说明

子设备遍历接口,该接口可以遍历网关下所有的子设备。在循环体中调用该接口,每轮循环返回一个子设备信息,直到返回空表示遍历结束

参数说明

参数名称 说明
iterator 迭代器指针

返回值

返回值 说明
DEV_DESC_IF_S 子设备信息结构体
NULL 遍历结束

tuya_iot_dev_online_stat_update

OPERATE_RET tuya_iot_dev_online_stat_update(IN CONST CHAR_T *dev_id, 
                                            IN CONST BOOL_T online)

功能说明

强制更新子设备在线状态。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
online TRUE:在线,FALSE:离线

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

回调接口

GW_PERMIT_ADD_DEV_CB

typedef BOOL_T (*GW_PERMIT_ADD_DEV_CB)(IN CONST GW_PERMIT_DEV_TP_T tp,
                                       IN CONST BOOL_T permit,
                                       IN CONST UINT_T timeout)

功能说明

子设备添加处理回调接口。

参数说明

参数名称 说明
tp 子设备类型,0xFF 表示不指定类型
permit 是否允许添加子设备,TRUE :允许,FALSE :禁止
timeout 配网超时时间,单位为秒

返回值

返回值 说明
TRUE 操作成功
FALSE 失败

GW_DEV_DEL_CB

typedef VOID (*GW_DEV_DEL_CB)(IN CONST CHAR_T *dev_id, 
                              IN CONST GW_DELDEV_TYPE type)

功能说明

子设备移除处理回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
type 移除类型,定义如下:
GWDEV_DELTYPE_MQTT:MQTT 实时移除
GWDEV_DELTYPE_SYNC:设备列表同步移除

返回值

返回值 说明
VOID /

GW_BIND_DEV_INFORM_CB

typedef VOID (*GW_BIND_DEV_INFORM_CB)(IN CONST CHAR_T *dev_id, 
                                      IN CONST OPERATE_RET op_ret)

功能说明

子设备绑定结果通知回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
op_ret 绑定结果,0 表示绑定成功,非 0 表示绑定失败

返回值

返回值 说明
VOID /

GW_DEV_UPGRADE_CB

typedef VOID (*GW_DEV_UPGRADE_CB)(IN CONST CHAR_T *dev_id, 
                                  IN CONST FW_UG_S *fw)

功能说明

子设备升级通知回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
fw 固件信息,详见 FW_UG_S

返回值

返回值 说明
VOID /

GW_DEV_HB_SEND_CB

typedef VOID (*GW_DEV_HB_SEND_CB)(IN CONST CHAR_T *dev_id)

功能说明

子设备心跳超时通知回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID

返回值

返回值 说明
VOID

GW_DEV_GRP_INFM_CB

typedef OPERATE_RET (*GW_DEV_GRP_INFM_CB)(IN CONST GRP_ACTION_E action,
                                          IN CONST CHAR_T *dev_id,
                                          IN CONST CHAR_T *grp_id)

功能说明

子设备群组处理回调接口。

参数说明

参数名称 说明
action 组的操作类型,类型定义如下:
GRP_ADD:增加
GRP_DEL:删除
dev_id 子设备的设备 ID
grp_id 群组 ID

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

GW_DEV_SCENE_INFM_CB

typedef OPERATE_RET (*GW_DEV_SCENE_INFM_CB)(IN CONST SCE_ACTION_E action,
                                            IN CONST CHAR_T *dev_id,
                                            IN CONST CHAR_T *grp_id,
                                            IN CONST CHAR_T *sce_id)

功能说明

子设备场景处理回调接口。

参数说明

参数名称 说明
action 场景的操作类型,类型定义如下:
SCE_ADD:增加
SCE_DEL:删除
SCE_EXEC:执行
dev_id 子设备的设备 ID
grp_id 群组 ID
sce_id 场景 ID

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

GW_DEV_RESET_CB

typedef VOID (*GW_DEV_RESET_CB)(IN CONST CHAR_T *dev_id, 
                                IN CONST DEV_RESET_TYPE_E type)

功能说明

子设备重置处理回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
type 重置类型,定义如下:
DEV_REMOTE_RESET_FACTORY:APP 移除
DEV_RESET_DATA_FACTORY:激活时需要清除数据

返回值

返回值 说明
VOID /

GW_DEV_WAKEUP_CB

typedef VOID (*GW_DEV_WAKEUP_CB)(IN CONST CHAR_T *dev_id,
                                 IN UINT_T duration)

功能说明

休眠子设备唤醒处理回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
duration 唤醒时间

返回值

返回值 说明
VOID /

GW_DEV_SIGMESH_TOPO_UPDAET_CB

typedef VOID (*GW_DEV_SIGMESH_TOPO_UPDAET_CB)(IN CONST CHAR_T *dev_id)

功能说明

蓝牙子设备拖拽添加到网关处理回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID

返回值

返回值 说明
VOID /

GW_DEV_SIGMESH_DEV_CACHE_DEL_CB

typedef VOID (*GW_DEV_SIGMESH_DEV_CACHE_DEL_CB)(IN CONST CHAR_T *dev_id)

功能说明

蓝牙子设备拖拽从网关移除处理回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID

返回值

返回值 说明
VOID /

GW_DEV_SIGMESH_CONN_CB

typedef VOID (*GW_DEV_SIGMESH_CONN_CB)(OUT CHAR_T *sigmesh_dev_conn_inf_json)

功能说明

网关按需连接子设备处理回调接口。

参数说明

参数名称 说明
sigmesh_dev_conn_inf_json JSON 数据

JSON 数据定义说明:

连接:
{
   "code": 100,
   "data": {
		"type":"CONNECT",
		"nodeId":[ node1, node2, ..., nodeN ]
	}
}

断开:
{
   "code": 100,
   "data": {
		"type":"DISCONNECT",
		"nodeId":[ node1, node2, ..., nodeN ]
	}
}

心跳:
{
	"code": 100,
	"data": {
    	"type":"HEARTBEAT"
 	}
}

返回值

返回值 说明
VOID /

GW_BIND_BLE_MESH_DEV_INFORM_CB

typedef VOID (*GW_BIND_BLE_MESH_DEV_INFORM_CB)(IN CONST CHAR_T *dev_id, 
                                               IN CONST CHAR_T *virt_id, 
                                               IN CONST OPERATE_RET op_ret)

功能说明

蓝牙子设备绑定结果通知回调接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID
virt_id 虚拟 ID
op_ret 绑定结果,0 表示绑定成功,非 0 表示绑定失败

返回值

返回值 说明
VOID /