10#ifndef TUYA_CLOUD_COM_DEFS_H
11#define TUYA_CLOUD_COM_DEFS_H
13#include "tuya_cloud_types.h"
21#define ENCRYPT_KEY_LEN 16
23#define AUTH_KEY_LEN 32
25#define PRODUCT_KEY_LEN 16
32#define TUYA_PSK_LEN 32
33#define TUYA_PSK21_LEN 44
34#define TUYA_IMEI_LEN 18
38#define LOG_SEQ_PATH_LEN 128
40#define DEV_UUID_LEN 25
42#define SCHEMA_ID_LEN 16
43#define SCHEMA_VER_LEN 16
44#define BIND_TOKEN_LEN 16
47#define REGIST_KEY_LEN 4
48#define HTTP_URL_LMT 128
50#define TIME_ZONE_LEN 10
51#define SUMMER_TM_ZONE_LEN 256
52#define COUNTRY_CODE_LEN 8
53#define COUNTRY_CODE_LEN 8
57#define LOCAL_KEY_LEN 16
65#define NET_MODE_LEN 32
68#define LC_GW_SLEEP_HB_LMT_S 12*3600
70#define M_SCE_SUCCESS 0
71#define M_SCE_ERR_EXCEED 1
72#define M_SCE_ERR_TIMEOUT 2
73#define M_SCE_ERR_PARAM 3
74#define M_SCE_WRITE_FILE 4
75#define M_SCE_ERR_OTHER 5
79#define GW_VIRTUAL 0x00
80#define GW_ENTITY_ATTH_DEV 0x01
84typedef BYTE_T GW_NW_STAT_T;
86#define GNS_LAN_VALID 1
87#define GNS_WAN_VALID 2
90typedef BYTE_T GW_EXT_STAT_T;
92#define EXT_PROD_TEST 1
95#define EXT_DEV_UPGRD 4
99#define EXT_CONFIG_BACK_UP 8
100#define EXT_CONFIG_RESTORE 9
108typedef BYTE_T DEV_TYPE_T;
109#define DEV_NM_ATH_SNGL 0
110#define DEV_BLE_SNGL 1
112#define DEV_NM_NOT_ATH_SNGL 9
113#define DEV_ATTACH_MOD_1 10
114#define DEV_ATTACH_MOD_2 11
115#define DEV_ATTACH_MOD_3 12
116#define DEV_ATTACH_MOD_4 13
117#define DEV_ATTACH_MOD_5 14
118#define DEV_ATTACH_MOD_6 15
119#define DEV_ATTACH_MOD_7 16
120#define DEV_ATTACH_MOD_8 17
121#define DEV_ATTACH_MOD_9 18
122#define DEV_ATTACH_MOD_10 19
127typedef UINT_T USER_DEV_DTL_DEF_T;
132typedef BYTE_T GW_PERMIT_DEV_TP_T;
133#define GP_DEV_DEF 0xFF
134#define GP_DEV_ZB DEV_ZB_SNGL
135#define GP_DEV_BLE DEV_BLE_SNGL
136#define GP_DEV_MCU DEV_NM_NOT_ATH_SNGL
137#define GP_DEV_ATH_1 DEV_ATTACH_MOD_1
138#define GP_DEV_ATH_2 DEV_ATTACH_MOD_2
139#define GP_DEV_ATH_3 DEV_ATTACH_MOD_3
140#define GP_DEV_ATH_4 DEV_ATTACH_MOD_4
141#define GP_DEV_ATH_5 DEV_ATTACH_MOD_5
142#define GP_DEV_ATH_6 DEV_ATTACH_MOD_6
143#define GP_DEV_ATH_7 DEV_ATTACH_MOD_7
144#define GP_DEV_ATH_8 DEV_ATTACH_MOD_8
145#define GP_DEV_ATH_9 DEV_ATTACH_MOD_9
146#define GP_DEV_ATH_10 DEV_ATTACH_MOD_10
148#define GP_DEV_SUPPORT_MAX GP_DEV_ATH_10
150typedef BYTE_T TY_DP_REPT_CHAN_TP_T;
151#define TY_DP_REPT_CHAN_LAN 0
152#define TY_DP_REPT_CHAN_MQTT 1
153#define TY_DP_REPT_CHAN_HTTP 2
154#define TY_DP_REPT_CHAN_BLE 3
155#define TY_DP_REPT_CHAN_SIGMESH 4
156#define TY_DP_REPT_CHAN_TUYA_MESH 5
157#define TY_DP_REPT_CHAN_BEACON 6
158#define TY_DP_REPT_CHAN_MAX 7
167 CHAR_T sys_env[SYS_ENV_LEN];
169 CHAR_T log_seq_path[LOG_SEQ_PATH_LEN];
177 GW_PERMIT_DEV_TP_T
tp;
179 CHAR_T ver[SW_VER_LEN + 1];
180 CHAR_T md5[SW_MD5_LEN + 1];
183#define CH_NAME_LMT 15
184#define CH_CODE_LMT 20
186#define CH_REPORT_CODE_LMT 20
187#define CH_MANU_ID_LMT 10
188#define CH_VERSION_LMT 10
189#define CH_ENCRYPT_KEY_LMT 20
196 CHAR_T ch_name[CH_NAME_LMT + 1];
198 CHAR_T ch_code[CH_CODE_LMT + 1];
200 CHAR_T ch_sn[CH_SN_LMT + 1];
202 CHAR_T ch_report_code[CH_REPORT_CODE_LMT + 1];
204 CHAR_T ch_manu_id[CH_MANU_ID_LMT + 1];
206 CHAR_T ch_version[CH_VERSION_LMT + 1];
208 CHAR_T ch_encrype_key[CH_ENCRYPT_KEY_LMT + 1];
224 CHAR_T fid[DEV_ID_LEN + 1];
227#define GW_ATTACH_ATTR_LMT 10
232typedef BYTE_T DP_REPT_TYPE_E;
236#define T_RE_TRANS_REPT 10
241typedef BYTE_T DP_TYPE_E;
249typedef BYTE_T DP_MODE_E;
257typedef BYTE_T DP_PROP_TP_E;
267typedef BYTE_T UP_MAP_TYPE_E;
268#define UP_CLEANER_MAP 0
269#define UP_CLEANER_PATH 1
270#define UP_CLEANER_MAP_PATH 2
275typedef BYTE_T UPGRADE_TYPE_T;
276#define UPGRADE_TYPE_NORMAL 0
277#define UPGRADE_TYPE_SILENT 1
279#define UPGRADE_TYPE_LAN 2
360typedef BYTE_T DP_TRIG_T_E;
367typedef BYTE_T DP_PSV_E;
375typedef BYTE_T DP_STAT_TP_T;
384typedef BYTE_T DP_ROUTE_T_T;
385#define ROUTE_DEFAULT 0
386#define ROUTE_BLE_FIRST 1
387#define ROUTE_FORCE_BT 2
414typedef BYTE_T DP_CMD_TYPE_E;
417#define DP_CMD_TIMER 2
418#define DP_CMD_SCENE_LINKAGE 3
419#define DP_CMD_RELIABLE_TRANSFER 4
421#define DP_CMD_SCENE_LINKAGE_LAN 6
423#define DP_CMD_EXT_APP 100
428typedef BYTE_T DP_TRANS_TYPE_T;
432#define DTT_SCT_SCENE 3
544#define DP_REPT_USER_REG_MAX_NUM 5
587typedef OPERATE_RET(*DP_REPT_PRE_HANDLE)(IN CONST
DP_REPT_CB_DATA* dp_data);
597typedef OPERATE_RET(*DP_REPT_POST_HANDLE)(IN CONST OPERATE_RET dp_rslt, IN CONST
DP_REPT_CB_DATA* dp_data);
614#define FW_URL_LEN 255
616#define FW_HMAC_LEN 64
627 CHAR_T fw_url[FW_URL_LEN + 1];
629 CHAR_T sw_ver[SW_VER_LEN + 1];
633 CHAR_T fw_hmac[FW_HMAC_LEN + 1];
635 CHAR_T fw_md5[FW_MD5_LEN + 1];
645typedef BYTE_T GW_STATUS_E;
648#define GW_FIRST_START 2
650#define GW_BLE_ACTIVED 4
656typedef VOID (*GW_STATUS_CHANGED_CB)(IN CONST GW_STATUS_E status);
677typedef VOID (*DEV_DP_QUERY_CB)(IN CONST
TY_DP_QUERY_S *dp_qry);
686typedef int (*GW_UG_INFORM_CB)(IN CONST
FW_UG_S *fw);
691 GW_LOCAL_RESET_FACTORY = 0,
694 GW_REMOTE_RESET_FACTORY,
695 GW_RESET_DATA_FACTORY,
703typedef VOID (*GW_RESET_IFM_CB)(GW_RESET_TYPE_E type);
713typedef int (*DEV_UG_INFORM_CB)(IN CONST CHAR_T *dev_id, IN CONST
FW_UG_S *fw);
716 DEV_REMOTE_RESET_FACTORY,
717 DEV_RESET_DATA_FACTORY,
726typedef VOID (*DEV_RESET_IFM_CB)(IN CONST CHAR_T *dev_id, IN DEV_RESET_TYPE_E type);
741typedef OPERATE_RET(*GET_FILE_DATA_CB)(IN CONST
FW_UG_S *fw, IN CONST UINT_T total_len, IN CONST UINT_T offset,
742 IN CONST BYTE_T *data, IN CONST UINT_T len, OUT UINT_T *remain_len, IN PVOID_T pri_data);
749typedef VOID (*ACTIVE_SHORTURL_CB)(OUT CONST CHAR_T *shorturl);
758typedef OPERATE_RET(*UPGRADE_NOTIFY_CB)(IN CONST
FW_UG_S *fw, IN CONST INT_T download_result, IN PVOID_T pri_data);
788typedef OPERATE_RET(*GW_CLOUD_STREAM_MQTT_CB)(IN
struct ty_cJSON *root_json);
794typedef BYTE_T TRAN_STEP_T;
799typedef BYTE_T CLEAR_TYPE_T;
800#define CLEAR_CONTINUE_ADD 0
801#define CLEAR_REMOVE_MAP 1
803typedef BYTE_T DATA_TYPE_T;
804#define DATA_INCREMENT_MAP 0
805#define DATA_COMPLETE_MAP 1
836 CHAR_T region[REGION_LEN + 1];
838 CHAR_T time_zone[TIME_ZONE_LEN + 1];
858 CHAR_T country_code[COUNTRY_CODE_LEN + 1];
860 CHAR_T ip[IPV4_LEN + 1];
869typedef VOID (*GW_APP_LOG_PATH_CB)(OUT CHAR_T *path, IN CONST INT_T len);
880typedef BYTE_T DEV_EXT_MODE_TYPE;
881#define DEV_EXT_MODE_MAIN 0
882#define DEV_EXT_MODE_NODEB 1
883#define DEV_EXT_MODE_WIFI 2
884#define DEV_EXT_MODE_CAT1 3
888 DEV_EXT_MODE_TYPE emt;
Definition of operator code info
Definition: tuya_cloud_com_defs.h:194
Definition: tuya_cloud_com_defs.h:887
Definition of device Quaility of Service
Definition: tuya_cloud_com_defs.h:214
USHORT_T sNodeID
Definition: tuya_cloud_com_defs.h:216
UCHAR_T lqi
Definition: tuya_cloud_com_defs.h:222
USHORT_T fNodeID
Definition: tuya_cloud_com_defs.h:218
CHAR_T rssi
Definition: tuya_cloud_com_defs.h:220
Definition of dp prop
Definition: tuya_cloud_com_defs.h:326
BOOL_T value
Definition: tuya_cloud_com_defs.h:328
Definition of dp description
Definition: tuya_cloud_com_defs.h:392
DP_TYPE_E type
Definition: tuya_cloud_com_defs.h:400
DP_MODE_E mode
Definition: tuya_cloud_com_defs.h:396
DP_ROUTE_T_T route_t
Definition: tuya_cloud_com_defs.h:408
DP_PSV_E passive
Definition: tuya_cloud_com_defs.h:398
DP_PROP_TP_E prop_tp
Definition: tuya_cloud_com_defs.h:402
DP_TRIG_T_E trig_t
Definition: tuya_cloud_com_defs.h:404
BYTE_T dp_id
Definition: tuya_cloud_com_defs.h:394
DP_STAT_TP_T stat
Definition: tuya_cloud_com_defs.h:406
Definition of dp prop
Definition: tuya_cloud_com_defs.h:334
UINT_T value
Definition: tuya_cloud_com_defs.h:338
UINT_T max_len
Definition: tuya_cloud_com_defs.h:336
Definition of dp prop
Definition: tuya_cloud_com_defs.h:300
INT_T cnt
Definition: tuya_cloud_com_defs.h:302
CHAR_T ** pp_enum
Definition: tuya_cloud_com_defs.h:304
INT_T value
Definition: tuya_cloud_com_defs.h:306
Definition of dp prop
Definition: tuya_cloud_com_defs.h:312
CHAR_T * value
Definition: tuya_cloud_com_defs.h:320
INT_T max_len
Definition: tuya_cloud_com_defs.h:314
INT_T cur_len
Definition: tuya_cloud_com_defs.h:316
void * dp_str_mutex
Definition: tuya_cloud_com_defs.h:318
Definition of dp prop
Definition: tuya_cloud_com_defs.h:284
INT_T min
Definition: tuya_cloud_com_defs.h:286
SHORT_T step
Definition: tuya_cloud_com_defs.h:290
INT_T max
Definition: tuya_cloud_com_defs.h:288
INT_T value
Definition: tuya_cloud_com_defs.h:294
USHORT_T scale
Definition: tuya_cloud_com_defs.h:292
Definition of DP filerting param
Definition: tuya_cloud_com_defs.h:562
UINT_T dp_id
Definition: tuya_cloud_com_defs.h:564
DP_CMD_TYPE_E cmd_from
Definition: tuya_cloud_com_defs.h:566
CHAR_T * cid
Definition: tuya_cloud_com_defs.h:568
Definition of DP report callbak
Definition: tuya_cloud_com_defs.h:548
CHAR_T * dp_data_json
Definition: tuya_cloud_com_defs.h:554
VOID_T * dp_data
Definition: tuya_cloud_com_defs.h:552
BYTE_T is_query
Definition: tuya_cloud_com_defs.h:556
DP_REPT_TYPE_E dp_rept_type
Definition: tuya_cloud_com_defs.h:550
Definition of DP handlers
Definition: tuya_cloud_com_defs.h:602
BOOL_T need_dp_force
Definition: tuya_cloud_com_defs.h:610
DP_RECV_FILTER_HANDLE dp_recv_filter_cb
Definition: tuya_cloud_com_defs.h:604
DP_REPT_POST_HANDLE dp_rept_post_cb
Definition: tuya_cloud_com_defs.h:608
DP_REPT_PRE_HANDLE dp_rept_pre_cb
Definition: tuya_cloud_com_defs.h:606
Definition: tuya_cloud_com_defs.h:808
Definition: tuya_cloud_com_defs.h:817
tuya sdk ota firmware info
Definition: tuya_cloud_com_defs.h:621
UINT_T file_size
Definition: tuya_cloud_com_defs.h:631
UPGRADE_TYPE_T type
Definition: tuya_cloud_com_defs.h:625
BOOL_T diff_ota
Definition: tuya_cloud_com_defs.h:637
DEV_TYPE_T tp
Definition: tuya_cloud_com_defs.h:623
Definition of attach moudule attribute
Definition: tuya_cloud_com_defs.h:175
GW_PERMIT_DEV_TP_T tp
Definition: tuya_cloud_com_defs.h:177
Definition of DP query
Definition: tuya_cloud_com_defs.h:532
CHAR_T * cid
Definition: tuya_cloud_com_defs.h:536
UINT_T cnt
Definition: tuya_cloud_com_defs.h:538
UINT_T cmd_tp
Definition: tuya_cloud_com_defs.h:534
Definition of TUYA DevOS init param
Definition: tuya_cloud_com_defs.h:163
BOOL_T init_db
Definition: tuya_cloud_com_defs.h:165
Definition of IoT callbacks used by APP
Definition: tuya_cloud_com_defs.h:874
GW_APP_LOG_PATH_CB gw_app_log_path_cb
Definition: tuya_cloud_com_defs.h:876
Definition of gateway callback funtions
Definition: tuya_cloud_com_defs.h:763
DEV_RESET_IFM_CB dev_reset_cb
Definition: tuya_cloud_com_defs.h:779
DEV_UG_INFORM_CB dev_ug_cb
Definition: tuya_cloud_com_defs.h:777
DEV_UG_INFORM_CB pre_dev_ug_cb
Definition: tuya_cloud_com_defs.h:785
GW_RESET_IFM_CB gw_reset_cb
Definition: tuya_cloud_com_defs.h:769
GW_UG_INFORM_CB pre_gw_ug_cb
Definition: tuya_cloud_com_defs.h:783
DEV_RAW_DP_CMD_CB dev_raw_dp_cb
Definition: tuya_cloud_com_defs.h:773
DEV_DP_QUERY_CB dev_dp_query_cb
Definition: tuya_cloud_com_defs.h:775
DEV_OBJ_DP_CMD_CB dev_obj_dp_cb
Definition: tuya_cloud_com_defs.h:771
ACTIVE_SHORTURL_CB active_shorturl
Definition: tuya_cloud_com_defs.h:781
GW_STATUS_CHANGED_CB gw_status_cb
Definition: tuya_cloud_com_defs.h:765
GW_UG_INFORM_CB gw_ug_cb
Definition: tuya_cloud_com_defs.h:767
Definition of region info
Definition: tuya_cloud_com_defs.h:834
Definition of location info
Definition: tuya_cloud_com_defs.h:856
Definition of structured dp
Definition: tuya_cloud_com_defs.h:448
DP_PROP_TP_E type
Definition: tuya_cloud_com_defs.h:452
BYTE_T dpid
Definition: tuya_cloud_com_defs.h:450
UINT_T time_stamp
Definition: tuya_cloud_com_defs.h:456
TY_OBJ_DP_VALUE_U value
Definition: tuya_cloud_com_defs.h:454
Definition of structured dp
Definition: tuya_cloud_com_defs.h:500
BYTE_T dpid
Definition: tuya_cloud_com_defs.h:502
BYTE_T * data
Definition: tuya_cloud_com_defs.h:506
UINT_T len
Definition: tuya_cloud_com_defs.h:504
Definition of recved raw dp
Definition: tuya_cloud_com_defs.h:512
UINT_T dps_cnt
Definition: tuya_cloud_com_defs.h:523
CHAR_T * mb_id
Definition: tuya_cloud_com_defs.h:520
DP_CMD_TYPE_E cmd_tp
Definition: tuya_cloud_com_defs.h:514
DP_TRANS_TYPE_T dtt_tp
Definition: tuya_cloud_com_defs.h:516
CHAR_T * cid
Definition: tuya_cloud_com_defs.h:518
Definition of recved structured dp
Definition: tuya_cloud_com_defs.h:462
UINT_T dps_cnt
Definition: tuya_cloud_com_defs.h:472
CHAR_T * cid
Definition: tuya_cloud_com_defs.h:468
CHAR_T * mb_id
Definition: tuya_cloud_com_defs.h:470
DP_CMD_TYPE_E cmd_tp
Definition: tuya_cloud_com_defs.h:464
DP_TRANS_TYPE_T dtt_tp
Definition: tuya_cloud_com_defs.h:466
Definition of recved raw dp
Definition: tuya_cloud_com_defs.h:480
CHAR_T * mb_id
Definition: tuya_cloud_com_defs.h:490
BYTE_T dpid
Definition: tuya_cloud_com_defs.h:488
CHAR_T * cid
Definition: tuya_cloud_com_defs.h:486
DP_TRANS_TYPE_T dtt_tp
Definition: tuya_cloud_com_defs.h:484
UINT_T len
Definition: tuya_cloud_com_defs.h:492
DP_CMD_TYPE_E cmd_tp
Definition: tuya_cloud_com_defs.h:482
Definition: ty_cJSON.h:104
Definition of dp prop value
Definition: tuya_cloud_com_defs.h:344
DP_PROP_VAL_S prop_value
Definition: tuya_cloud_com_defs.h:346
DP_PROP_BITMAP prop_bitmap
Definition: tuya_cloud_com_defs.h:354
DP_PROP_ENUM_S prop_enum
Definition: tuya_cloud_com_defs.h:348
DP_BOOL_S prop_bool
Definition: tuya_cloud_com_defs.h:352
DP_PROP_STR_S prop_str
Definition: tuya_cloud_com_defs.h:350
tuya sdk dp value union
Definition: tuya_cloud_com_defs.h:437