功能点接口

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

本文介绍了综合 SDK 的功能点接口。

结构体定义

TY_RECV_RAW_DP_S

typedef struct {
    DP_CMD_TYPE_E cmd_tp;
    DP_TRANS_TYPE_T dtt_tp;
    CHAR_T *cid;
    BYTE_T dpid;
    CHAR_T *mb_id;
    UINT_T len;
    BYTE_T data[0];
} TY_RECV_RAW_DP_S;

功能说明(Summary)

RAW 类型指令结构体。

成员说明

参数名称 说明
cmd_tp 命令类型,定义如下:
DP_CMD_LAN:指令来源于局域网控制
DP_CMD_MQ:指令来源于 MQTT 控制
DP_CMD_TIMER:指令来源于本地定时
DP_CMD_SCENE_LINKAGE:指令来源于本地联动
DP_CMD_RELIABLE_TRANSFER:指令来源于重发
DP_CMD_BT:指令来源于蓝牙控制
DP_CMD_SCENE_LINKAGE_LAN:指令来源于局域网联动
dtt_tp 传输类型,定义如下:
DTT_SCT_UNC:单播
DTT_SCT_BNC:广播
DTT_SCT_MNC:组播
DTT_SCT_SCENE:场景
cid 设备唯一标识符。
cid == NULL,表示网关设备
cid != NULL,表示子设备。
dpid 功能点 ID
mb_id 群组 ID,当 dtt_tp == DTT_SCT_MNC 才有效
len RAW 数据长度
data RAW 数据

TY_RECV_OBJ_DP_S

typedef struct {
    DP_CMD_TYPE_E cmd_tp;
    DP_TRANS_TYPE_T dtt_tp;
    CHAR_T *cid;
    CHAR_T *mb_id;
    UINT_T dps_cnt;
    TY_OBJ_DP_S dps[0];
} TY_RECV_OBJ_DP_S;

功能说明(Summary)

OBJ 类型指令结构体。

成员说明

成员名称 说明
cmd_tp 命令类型,定义如下:
DP_CMD_LAN:指令来源于局域网控制
DP_CMD_MQ:指令来源于 MQTT 控制
DP_CMD_TIMER:指令来源于本地定时
DP_CMD_SCENE_LINKAGE:指令来源于本地联动
DP_CMD_RELIABLE_TRANSFER:指令来源于重发
DP_CMD_BT:指令来源于蓝牙控制
DP_CMD_SCENE_LINKAGE_LAN:指令来源于局域网联动
dtt_tp 传输类型,定义如下:
DTT_SCT_UNC:单播
DTT_SCT_BNC:广播
DTT_SCT_MNC:组播
DTT_SCT_SCENE:场景
cid 设备唯一标识符。
cid == NULL,表示网关设备
cid != NULL,表示子设备。
mb_id 群组 ID,当 dtt_tp == DTT_SCT_MNC 才有效
dps_cnt 功能点结构体数组个数
dps 功能点结构体数组,详见 TY_OBJ_DP_S

TY_OBJ_DP_S

typedef struct {
    BYTE_T dpid;
    DP_PROP_TP_E type;
    TY_OBJ_DP_VALUE_U value;
    UINT_T time_stamp;
} TY_OBJ_DP_S;

功能说明(Summary)

OBJ 类型 DP 结构体。

成员说明

成员名称 说明
dpid 功能点 ID
type 功能点数据类型,定义如下:
PROP_BOOL:布尔类型
PROP_VALUE:整形类型
PROP_STR:字符串类型
PROP_ENUM:枚举类型
PROP_BITMAP:位图类型
value 功能点的值,为联合体类型,详见 TY_OBJ_DP_VALUE_U
time_stamp 时间戳

TY_OBJ_DP_VALUE_U

typedef union {
    INT_T dp_value;
    UINT_T dp_enum;
    CHAR_T *dp_str;
    BOOL_T dp_bool;
    UINT_T dp_bitmap;
} TY_OBJ_DP_VALUE_U;

功能说明(Summary)

OBJ 类型 DP 值联合体。

成员说明

成员名称 说明
dp_value 功能点数据类型为 PROP_VALUE 时有效
dp_enum 功能点数据类型为 PROP_ENUM 时有效
dp_str 功能点数据类型为 PROP_STR 时有效
dp_bool 功能点数据类型为 PROP_BOOL 时有效
dp_bitmap 功能点数据类型为 PROP_BITMAP 时有效

TY_DP_QUERY_S

typedef struct {
    CHAR_T *cid;
    UINT_T cnt;
    BYTE_T dpid[0];
} TY_DP_QUERY_S;

功能说明(Summary)

查询 DP 信息结构体。

成员说明

参数名称 说明
cid 设备唯一标识符。
cid == NULL,表示网关设备
cid != NULL,表示子设备。
cnt 功能点个数。cnt == 0,表示该设备所有功能点
dpid 要查询的功能点 ID 列表

TY_IOT_DP_CBS_S

typedef struct  {
    DEV_OBJ_DP_CMD_CB   obj;
    DEV_RAW_DP_CMD_CB   raw;
    DEV_DP_QUERY_CB     query;
} TY_IOT_DP_CBS_S;

功能说明(Summary)

DP 回调结构体。

成员说明

成员名称 说明
obj 详见 dev_obj_dp_cb
raw 详见 dev_raw_dp_cb
query 详见 dev_dp_query_cb

TY_DP_REPORT_CBS_S

typedef struct {
	VOID (*obj_dp_rept_cb)(CONST CHAR_T *dev_id, CONST TY_OBJ_DP_S *dps, CONST UINT_T dp_cnt);
	VOID (*raw_dp_rept_cb)(CONST CHAR_T *dev_id, BYTE_T dpid, CONST BYTE_T *data, UINT_T len);
} TY_DP_REPORT_CBS_S;

功能说明

功能点上报回调结构体。

成员说明

成员名称 说明
obj_dp_rept_cb OBJ 类型功能点回调,参数同 dev_report_dp_json_async
raw_dp_rept_cb RAW 类型功能点回调,参数同 dev_report_dp_raw_sync

接口说明

tuya_iot_reg_dp_cb

OPERATE_RET tuya_iot_reg_dp_cb(IN CONST DP_DEV_TYPE_T subcribe_dev_type, 
                               IN GW_PERMIT_DEV_TP_T tp, 
                               TY_IOT_DP_CBS_S *cb)

功能说明

注册 DP 处理回调接口。

参数说明

参数名称 说明
sub_dev_type DP 的处理类型,定义如下:
DP_DEV:仅处理子设备的 DP
DP_GW:仅处理网关的 DP
DP_GW_DEV:网关&子设备 DP 都处理
tp 子设备类型,定义如下:
< 10,开发者不可用,预留给涂鸦使用
>= 10,开发者使用
cb DP 回调结构体

返回值

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

dev_report_dp_json_async

OPERATE_RET dev_report_dp_json_async(IN CONST CHAR_T *dev_id, 
                                     IN CONST TY_OBJ_DP_S *dp_data,
                                     IN CONST UINT_T cnt)

功能说明

异步方式上报 OBJ 类型功能点信息接口。

参数说明

参数名称 说明
dev_id 设备 ID
dp_data 功能点数据结构体数组,详见 TY_OBJ_DP_S
cnt 功能点数据结构体数组个数

返回值

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

dev_report_dp_raw_sync

OPERATE_RET dev_report_dp_raw_sync (IN CONST CHAR_T *dev_id, 
                                    IN CONST BYTE_T dpid, 
                                    IN CONST BYTE_T *data,
                                    IN CONST UINT_T len, 
                                    IN CONST UINT_T timeout)

功能说明

同步方式上报 RAW 类型功能点信息接口,要求开发者保障数据上报的可靠性。

参数说明

参数名称 说明
dev_id 设备 ID
dpid 功能点 ID
data 透传数据
len 透传数据长度
timeout 接口阻塞的超时时间

返回值

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

dev_report_dp_stat_sync

#define dev_report_dp_stat_sync(dev_id, dp_data, cnt, timeout) \
    dev_report_dp_stat_sync_extend(dev_id, dp_data, cnt, timeout, TRUE)
OPERATE_RET dev_report_dp_stat_sync_extend(IN CONST CHAR_T *dev_id,
                                           IN CONST TY_OBJ_DP_S *dp_data,
                                           IN CONST UINT_T cnt,
                                           IN CONST UINT_T timeout, 
                                           IN CONST BOOL_T enable_auto_retrans)

功能说明

同步方式上报 OBJ 类型功能点信息接口,要求开发者保障数据上报的可靠性。

参数说明

参数名称 说明
dev_id 设备 ID
dp_data 功能点信息结构体数组,详见 TY_OBJ_DP_S
cnt 功能点信息结构体数组个数
timeout 函数阻塞超时时间

返回值

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

tuya_iot_dev_obj_cmd_send

OPERATE_RET tuya_iot_dev_obj_cmd_send(CONST TY_RECV_OBJ_DP_S *cmd)

功能说明

本地下发 OBJ 类型指令接口。

参数说明

参数名称 说明
cmd 参考 TY_RECV_OBJ_DP_S

返回值

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

tuya_iot_dev_raw_cmd_send

OPERATE_RET tuya_iot_dev_raw_cmd_send(CONST TY_RECV_RAW_DP_S *cmd)

功能说明

本地下发 RAW 类型指令接口。

参数说明

参数名称 说明
cmd 参考 TY_RECV_RAW_DP_S

返回值

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

tuya_iot_reg_dp_report_cb

OPERATE_RET tuya_iot_reg_dp_report_cb(TY_DP_REPORT_CBS_S *cbs)

功能说明

注册功能点信息上报回调接口,用于获取上报的功能点数据。

参数说明

参数名称 说明
cbs 参考 TY_DP_REPORT_CBS_S

返回值

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

回调接口

dev_obj_dp_cb

VOID dev_obj_dp_cb(IN CONST TY_RECV_OBJ_DP_S *dp)

功能说明

OBJ 类型功能点指令处理回调接口。

参数说明

参数名称 说明
dp OBJ 类型指令,详看 TY_RECV_OBJ_DP_S

返回值

返回值 说明
VOID /

dev_raw_dp_cb

VOID dev_raw_dp_cb(IN CONST TY_RECV_RAW_DP_S *dp)

功能说明

RAW 类型功能点指令处理回调接口。

参数说明

参数名称 说明
dp RAW 类型指令,详看 TY_RECV_RAW_DP_S

返回值

返回值 说明
VOID /

dev_dp_query_cb

VOID dev_dp_query_cb(IN CONST TY_DP_QUERY_S *dp_qry)

功能说明

功能点查询回调接口。

参数说明

参数名称 说明
dp_qry 查询功能点信息结构体,详看 TY_DP_QUERY_S

返回值

返回值 说明
VOID /