Tuya Wi-Fi SDK Reference
Change log
Version
Description
Date
1.0.0
The initial version.
20200301
Overview
The Tuya device OS is a proprietary IoT operating system, which provides abundant components and you can make SDK customization according to your business requirements. It has the characteristic of lightweight, interconnection, secure transmission, fully functional components and rapid development, effectively lowering the development threshold and shortening the development cycle. It can be widely used in wearable devices, video monitors, compute gateways, smart speakers, smart locks and other smart home appliances.
The Tuya Wi-Fi SDK is developed based on the Tuya device OS technology and tailored according to the Wi-Fi application in the Internet of Things scenarios. It is applicable to any Wi-Fi chip that is configured according to the Tuya Smart platform interconnection rules.
Project address
GitHub repo of the Tuya Wi-Fi SDK for RTL8710BN
Directories
The following table describes the directories of the Tuya Wi-Fi SDK.
Directory
Subdirectory
Description
Reference
apps
/
Stores your application and samples of the Tuya Wi-Fi SDK. It is better to create a folder for every application or sample.
See the sample of Tuya Wi-Fi SDK for usage instruction.
oem_rtlbn_1_plug_demo
Contains one or more samples.
N/A.
sdk
sdk
Stores the header files and library files of Tuya Wi-Fi SDK.
See the API reference section for details.
include
Stores all of the APIs provided by Tuya Wi-Fi SDK.
N/A.
lib
The libtuya_iot.a
file that is compiled by Tuya Wi-Fi SDK.
N/A.
platforms
/
Stores the development environment and toolchains of Tuya Wi-Fi SDK. The platform
is an empty folder at first. Related toolchains are downloaded automatically to this folder during compiling.
N/A.
build_app.sh
/
The compiling entry point for applications and samples.
Environment preparation and compilation.
CHANGELOG.md
/
Records all the notable changes for each version.
N/A.
README.md
/
User guide written in Markdown.
N/A.
Initialization
Process
The initialization is the process of loading and running firmware automatically after the device is powered on for initializing.
Because the Tuya Wi-Fi SDK is platform independent, differences exist in its initialization process for different products. Taking the lighting products that have SoC designs and are connected via Wi-Fi as an example, the initialization process is shown in the following picture.
The initialization of Tuya Wi-Fi SDK is almost completed in the user_main()
API. It mainly includes the following stages:
pre_init_process
: makes preparation before initializing the Tuya IoT SDK. It is optional, therefore you can implement it depending on your needs. Thepre_init_process
is vastly used for lighting products, it is recommended to turn on them as soon as possible to create a better user experience. During thepre_init_process
stage, the following actions will be performed.pre_device_init
: prints the status information and sets the importance level of logs.tuya_cnt_rst_judge
: counts the hardware devices.tuya_iot_kv_flash_init
: initializes the storage space to store the generated critical data during thepre_init_process
operation.Your customized actions, such as subscribing to events.
tuya_iot_init
: this stage is to initialize necessary functions for Tuya Wi-Fi SDK. Allocate necessary compute and storage resources.app_init
: initializes the programming code of application, and set the working mode.device_init
: performs API initialization according to the working mode. The initialization API varies for different product categories.SoC series:
tuya_iot_wf_soc_dev_init
MCU series:
tuya_iot_wf_mcu_dev_init
Gateway series:
tuya_iot_wf_gw_dev_init
To initialize a product, you must set the value of
product_key
,firmware_key
andstart_mode
(network configuration mode).
Working mode
During the app_init
stage, you must select an appropriate working mode. The mode determines the initialization, network configuration, reset and other properties of your products.
GWCM_OLD
The GWCM_OLD
mode is mainly applicable for the firmware using serial port interaction type.
Production testing: only after the MCU initiates a production testing request, which can be initiated any time, the device can scan the router that are used for production testing.
Note: if a SoC firmware uses the
OLD
mode, it cannot enter into the production testing mode.
GWCM_LOW_POWER
The GWCM_LOW_POWER
mode is mainly applicable for the sockets with SoC designs.
Before configuring the network:
After powering on, the
GWCM_LOW_POWER
mode is indicated with a constant light status. Manual switching is required to enter the network configuration status.Within 10 seconds, if the device keeps disconnected, you can restart it to re-enter the network configuration status.
After 10 seconds, if the device keeps disconnected, you can restart it to re-enter the
GWCM_LOW_POWER
status.If the device keeps disconnected within 3 minutes, it enters into the
GWCM_LOW_POWER
status automatically.
Network configured and product added
Removal from App: the device restarts and enters into the network configuration mode automatically. By default, the network configuration is the EZ mode (smart configuration). The existing value of the
SSID
andPassWD
will be erased.Manual removal: the device restarts and enters into the network configuration mode automatically. The existing value of the
SSID
andPassWD
will be erased.Network not configured:
Within 10 seconds, if the device keeps disconnected, you can restart it to re-enter the network configuration status.
After 10 seconds, if the device keeps disconnected, you can restart it to re-enter the
GWCM_LOW_POWER
status.If the device keeps disconnected within 3 minutes, it enters into the
GWCM_LOW_POWER
status automatically.
Network configured: the device is activated and connected again.
Production testing: when a device is in the
GWCM_LOW_POWER
mode, you must restart it to scan the production testing router to enter the production testing mode.
GWCM_SPCL_MODE
The SPCL_MODE
mode is mainly applicable for the lighting products with SoC designs.
Before configuring the network:
After powering on, the
SPCL_MODE
mode is indicated with a constant light status. Manual switching is required to enter the network configuration status.Within 10 seconds, if the device keeps disconnected, you can restart it to re-enter the network configuration status.
After 10 seconds, if the device keeps disconnected, you can restart it to re-enter the
GWCM_SPCL_MODE
status.If the device keeps disconnected within 3 minutes, it enters into the
LOW_POWER
status automatically.
Network configured and product added
Removal from App: the device restarts and enters into the network configuration mode automatically. By default, the network configuration is the EZ mode (smart configuration). The existing value of the
SSID
andPassWD
will be erased.Manual removal: the device restarts and enters into the network configuration mode automatically. The existing value of the
SSID
andPassWD
will be erased.Network not configured:
Within 10 seconds, if the device keeps disconnected, you can restart it to re-enter the network configuration status.
After 10 seconds, if the device keeps disconnected, you can restart it to re-enter the
GWCM_SPCL_MODE
status.If the device keeps disconnected within 3 minutes, it enters into the
GWCM_SPCL_MODE
status automatically.
Network configured: the device is activated and connected again.
Production testing: when a device is in the
GWCM_SPCL_MODE
mode, you must restart it to scan the production testing router to enter the production testing mode.
GWCM_OLD_CPT
The GWCM_OLD_CPT
mode is mainly used for electrical and lighting products with SoC designs. After powering on, products enter the network configuration state and wait for configuration.
When the device waits for network configuration, you can restart the device to make it scanned by routers and enter into the production testing mode.
GWCM_LOW_POWER_AUTO_CFG
The GWCM_LOW_POWER_AUTO_CFG
mode is mainly used for electrical products with SoC designs. Usually, those products flash when they are powered on, and enter into the LOW_POWER
mode 3 minutes later.
Before configuring the network: after powering on, the products enter into the EZ (network smart configuration) mode, and sway between the EZ and AP mode.
Network not configured: if the product is restarted within 3 minutes, it keeps the last network configuration state. If the network of the product is not configured within 3 minutes, it enters into the
LOW_POWER
mode automatically.
Network configured and device added
Removal from App: the device restarts and enters into the network configuration mode automatically. By default, the network configuration is the EZ mode (smart configuration). The existing value of the
SSID
andPassWD
will be erased.Manual removal: the device restarts and enters into the network configuration mode automatically. The existing value of the
SSID
andPassWD
will be erased.If the device keeps disconnected within 3 minutes, it enters into the
GWCM_SPCL_MODE
status automatically.Network configured: the device is activated and connected again.
Production testing: when a device is in the
GWCM_LOW_POWER_AUTO_CFG
mode, you must restart it to scan the production testing router to enter the production testing mode.
GWCM_SPCL_AUTOCFG
The GWCM_SPCL_AUTOCFG
mode is mainly used for lighting products with SoC designs.
Before configuring the network:
After powering on, the
GWCM_SPCL_AUTOCFG
mode is indicated with a constant light status. Manual switching is required to enter the network configuration status.Within 10 seconds, if the device keeps disconnected, you can restart it to re-enter the network configuration status.
After 10 seconds, if the device keeps disconnected, you can restart it to re-enter the
GWCM_LOW_POWER
status.If the device keeps disconnected within 3 minutes, it enters into the
GWCM_LOW_POWER
status automatically.
Network configured and product added
Removal from App: the device restarts and enters into the network configuration mode automatically. By default, the network configuration is the EZ mode (smart configuration). The existing value of the
SSID
andPassWD
will be erased.Network not configured:
Within 10 seconds, if the device keeps disconnected, you can restart it to re-enter the network configuration status.
After 10 seconds, if the device keeps disconnected, you can restart it to re-enter the
GWCM_SPCL_AUTOCFG
status.If the device keeps disconnected within 3 minutes, it enters into the
GWCM_LOW_POWER
status automatically.
Manual removal: the device restarts and enters into the network configuration mode automatically. The existing value of the
SSID
andPassWD
will be erased.Network configured: the device is activated and connected again.
Production testing: when a device is in the
GWCM_SPCL_AUTOCFG
mode, you must restart it to scan the production testing router to enter the production testing mode.
API reference
TY_IOT_CBS_S
In the app_init
phase of the initial process, users need to provide some callbacks according to their needs. The SDK will notify the application of the corresponding state change through the callback at the corresponding stage.
Description
The SDK callback interface.
Member description
Member
Prototype
Description
gw_status_cb
VOID (*GW_STATUS_CHANGED_CB)(IN CONST GW_STATUS_E status);
It is called when the SDK internal status changes.
gw_ug_cb
int (*GW_UG_INFORM_CB)(IN CONST FW_UG_S *fw);
It is called when the SDK detects it.
gw_reset_cb
VOID (*GW_RESET_IFM_CB)(GW_RESET_TYPE_E type);
It is called when SDK resets the device.
dev_obj_dp_cb
VOID (*DEV_OBJ_DP_CMD_CB)(IN CONST TY_RECV_OBJ_DP_S *dp);
It is called when SDK receives DP.
dev_raw_dp_cb
VOID (*DEV_RAW_DP_CMD_CB)(IN CONST TY_RECV_RAW_DP_S *dp);
It is called when SDK receives RAW DP.
dev_dp_query_cb
VOID (*DEV_DP_QUERY_CB)(IN CONST TY_DP_QUERY_S *dp_qry);
It is called when SDK receives DP query command.
tuya_iot_init
Prototype
Description
Initializes the Tuya IoT system. And it must be called at first.
Parameter
Parameter
Description
Data type
Required?
Notice
fs_storge_path
Allocates a readable and writable file partition for the SDK
CHAR_T
Yes
The path length cannot be greater than 110 bytes.
Return value
Return value
Description
OPRT_OK
Success
Error Code
The error code is returned on failure.
tuya_iot_get_sdk_info
Prototype
Description
Obtains the Tuya IoT SDK version information.
Parameter
Parameter
Description
Data type
Required?
Notice
VOID
N/A
N/A
N/A
N/A
Return value
Return value
Description
SDK information
A string. SDK information includes SDK compilation time, platform, and version number, and enabled function attributes
tuya_iot_sys_mag_hb_init
Prototype
Description
Enables heartbeat management capabilities of child devices.
Parameter
Parameter
Description
Data type
Required?
Notice
hb_send_cb
The gateway checks all child devices every 3 seconds. If the child device does not send a heartbeat to the gateway within the timeout period of the heartbeat packet, the gateway will set the child device offline and notify the user at least three times through hb_send_cb
hb_send_cb
callback function
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_iot_set_wf_gw_prod_info
Prototype
Description
Sets the authorization information of the configuration Wi-Fi device. The authorization information needs to be obtained through Tuya, otherwise the device cannot be used normally.
Parameter
Parameter
Description
Data type
Required?
Notice
wf_prod_info
This structure contains device information: uuid and authkey Wi-Fi ssid and password.
WF_GW_PROD_INFO_S *
Yes
You need to pass this information to the SDK.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
Error code returned on failure
tuya_iot_wf_mcu_dev_init
Prototype
Description
The metworking module and MCU device initialization interface.
Parameter
Parameter
Description
Data type
Required?
Notice
cfg
How Wi-Fi devices work. Working mode: 1. Non-low power consumption mode. 2. Low power consumption mode. 3. Special low power consumption mode.
GW_WF_CFG_MTHD_SEL
Yes
N/A
start_mode
Wi-Fi distribution mode: 1. Only work in ap configuration mode. 2. Only smart config mode. 3. ap and smart config mode, the default ap mode. 4. ap and smart config mode. The default value sets to the smart config mode. Select the mode according to actual needs.
GW_WF_START_MODE
Yes
N/A
cbs
Wi-Fi SDK user callback function
TY_IOT_CBS_S *
Yes
N/A
p_firmware_key
Firmware key. When the firmware is uploaded to the Tuya platform, there will be a firmware key.
String
Yes
N/A
product_key
Get when Tuya creates a product
String
Yes
N/A
wf_sw_ver
Wi-Fi software version number
String
Yes
N/A
mcu_sw_ver
MCU firmware version number
String
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_iot_wf_soc_dev_init
Prototype
Description
The Wi-Fi SoC device initialization interface.
Parameter
Parameter
Description
Data type
Required?
Notice
cfg
How Wi-Fi devices work. Working mode: 1) Non-low power consumption mode. 2) Low power consumption mode. 3) Special low power consumption mode.
GW_WF_CFG_MTHD_SEL
Yes
N/A
start_mode
Wi-Fi distribution mode: 1) Only works in AP configuration mode. 2) Only smart config mode. 3) AP and smart config mode, the default AP mode. 4) AP and smart config mode. The default smart config mode. Select the mode according to your actual needs.
GW_WF_START_MODE
N/A
cbs
Wi-Fi SDK user callback function
TY_IOT_CBS_S *
N/A
product_key
Get when Tuya creates a product
String
N/A
wf_sw_ver
Software version number
String
xx.xx.xx
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_iot_wf_gw_init
Prototype
Description
The Wi-Fi gateway initialization interface.
Parameter
Parameter
Description
Data type
Required?
Notice
cfg
How Wi-Fi devices work. Working mode: 1) Non-low power consumption mode 2) Low power consumption mode 3) Special low power consumption mode
GW_WF_CFG_MTHD_SEL
Yes
N/A
start_mode
Wi-Fi distribution mode: 1. Only works in AP configuration mode 2. Only smart config mode 3. AP and smart config mode, the default AP mode 4. AP and smart config mode, the default smart config mode
GW_WF_START_MODE
Yes
N/A
cbs
Tuya Wi-Fi SDK user callback
TY_IOT_CBS_S *
Yes
N/A
gw_cbs
Tuya Gateway user callback
TY_IOT_GW_CBS_S *
Yes
N/A
product_key
Tuya platform creation time to obtain
String
Yes
N/A
wf_sw_ver
Software version number
String
Yes
N/A
attr
Array of Gateway Attributes
GW_ATTACH_ATTR_T *
Yes
N/A
attr_num
Gateway attribute length
UINT_T
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_iot_wf_gw_dev_init
Prototype
Description
The Wi-Fi gateway and device initialization interface. Compared with tuya_iot_wf_gw_init
, this function makes the gateway have the attributes of the device and can set function points.
Parameter
Refers to tuya_iot_wf_gw_init
interface description.
Return value
Refers to tuya_iot_wf_gw_init
interface description.
tuya_iot_reg_get_wf_nw_stat_cb
Prototype
Description
Gets Wi-Fi status interface.
Parameter
Parameter
Description
Data type
Required?
Notice
nw_stat_cb
Tuya SDK network detection callback, the parameter of the callback function is the network status.
nw_stat_cb
Yes
See SDK samples for details.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
Network configuration
The process
After the device is initialized, the most important follow-up is to configure the network so that the device can connect to the cloud through the router. If the device has been connected, you do not need to configure the network after device restarting or initializing.
You need to determine the working mode supported by the Wi-Fi network card, and inform the Tuya Wi-Fi SDK the network configuration mode of the device when the tuya_iot_wf_soc_dev_init
or tuya_iot_wf_gw_dev_init
is initialized. Refer to the description of start_mode
parameters of the interface for more information. During the network configuration, you must use a mobile App to interact with the device, and send the ssid
, pswd
, token
, and other information through coding, broadcast packets and multicast packets until the network is configured.
EZ mode
EZ indicates fast configuration. When the Wi-Fi module works in the monitor
mode, the device can easily to receive and resolve the Wi-Fi beacon packets that are sent by the mobile App, and get configuration information from them. Later, the Wi-Fi module turns to the station
mode and wait for network configuration.
AP network configuration mode
The process of AP network configuration is relatively complicated. In this mode, devices must enable AP hotspot, and wait for network connection from mobile phone. Next, the configuration information is sent via LAN network to the device, and the Wi-Fi module turns to the station
mode and wait for network configuration.
Other network configuration mode
The Tuya Wi-Fi SDK supports other network configuration mode, such as QR code scanning or Bluetooth communication. In those configuration mode, your application obtains the ssid
, passwd
, and token
via the following methods and directly applies for device joining by calling APIs.
QR code: the devices scan the QR code that are generated by App to obtain the
ssid
,passwd
, andtoken
information.Easy routing: the devices obtain the
ssid
,passwd
, andtoken
information via routers.FFS: the devices obtain the
ssid
,passwd
, andtoken
information via third party devices, such as Amazon Echo.Sound wave: the devices obtain the encoded
ssid
,passwd
, andtoken
information via serial ports or sound waves.Bluetooth: the devices obtain the
ssid
,passwd
, andtoken
information via Bluetooth.
The network configuration mode
You can choose the network configuration mode by calling the device_init()
API, and the following values are supported.
AP only (
WF_START_AP_ONLY
): only works in the AP configuration mode.Smart only (
WF_START_SMART_ONLY
): works in thesmart config
mode.AP first (
WF_START_AP_FIRST
): works both in the AP configuration mode and thesmart config
mode, but the AP configuration mode is the default setting.Smart first (
WF_START_SMART_FIRST
): works both in the AP configuration mode and thesmart config
mode, but thesmart config
mode is the default setting.Both AP and Smart (
WF_START_SMART_AP_CONCURRENT
): works both in the AP configuration mode and thesmart config
mode.
API reference
tuya_hal_wifi_all_ap_scan
Prototype
Description
Scans all AP.
Parameter
Parameter
Description
Data type
Required?
Notice
ap_ary
List of AP information in the current environment.
AP_IF_S **
Yes
As output parameter
num
The length of the current environment AP information list.
UINT_T
Yes
As output parameter
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_assign_ap_scan
Prototype
Description
Scans the specified AP.
Parameter
Parameter
Description
Data type
Required?
Notice
ssid
The ssid of the specified AP.
String
Yes
Input Parameter
ap
Gets the specified AP information.
AP_IF_S **
Yes
Output
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_release_ap
Prototype
Description
Release processing of resources.
Parameter
Parameter
Description
Data type
Required?
Notice
ap
When the ap information is useless, release the memory requested in tuya_hal_wifi_all_ap_scan
and tuya_hal_wifi_assign_ap_scan
.
AP_IF_S *
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_set_cur_channel
Prototype
Description
Sets the Wi-Fi working channel.
Parameter
Parameter
Description
Data type
Required?
Notice
chan
Wi-Fi working channel to be set
BYTE_T
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_get_cur_channel
Prototype
Description
Gets the current working channel.
Parameter
Parameter
Description
Data type
Required?
Notice
nw_stat_cb
Network change callback function, the parameter of the callback function is the network status.
nw_stat_cb
Yes
See SDK samples for details.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_sniffer_set
Prototype
Description
Wi-Fi device promiscuous mode setting.
Parameter
Parameter
Description
Data type
Required?
Notice
en
Enables or disables Wi-Fi sniffer mode
nw_stat_cb
Yes
N/A
cb
Notification callback function. The captured 802.11 air packet contains the frame header.
SNIFFER_CALLBACK
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_get_ip
Prototype
Description
Gets Wi-Fi device ip information.
Parameter
Parameter
Description
Data type
Required?
Notice
wf
Wi-Fi working mode , AP and station.
WF_IF_E
Yes
N/A
ip
Saves the obtained IP information structure, the information contains IP, submask, gateway.
NW_IP_S *
Yes
Output parameters
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_get_mac
Prototype
Description
Gets the MAC address of the Wi-Fi device.
Parameter
Parameter
Description
Data type
Required?
Notice
wf
Wi-Fi working mode. AP and station
nw_stat_cb
Yes
N/A
mac
Saves the obtained MAC address
NW_MAC_S *
Yes
As output parameter
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_set_mac
Prototype
Description
Sets the MAC address of the Wi-Fi device is optional.
Parameter sescription
Parameter
Description
Data type
Required?
Notice
wf
Wi-Fi working mode, AP and station
WF_IF_E
Yes
Input parameters
mac
The set MAC address
NW_MAC_S *
Yes
Input parameters
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_wk_mode_set
Prototype
Description
Sets the Wi-Fi working mode.
Parameter
Parameter
Description
Data type
Required?
Notice
mode
Sets the Wi-Fi working mode: 1. Low power mode 2. Promiscuous mode 3. station mode 4. ap mode 5. ap + station mode
WF_WK_MD_E
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_wk_mode_get
Prototype
Description
Gets Wi-Fi working mode.
Parameter
Parameter
Description
Data type
Required?
Notice
mode
Same meaning as the parameter mode in tuya_hal_wifi_wk_mode_set
WF_WK_MD_E
Yes
Output parameters
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_station_connect
Prototype
Description
Sets up the Wi-Fi device to establish a connection with the AP/hotspot/Wi-Fi router.
Parameter
Parameter
Description
Data type
Required?
Notice
ssid
The ssid connected to the ap/hotspot/Wi-Fi router
String
Yes
N/A
password
The password to connect to the ap/hotspot/Wi-Fi router
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_station_disconnect
Prototype
Description
Disconnect the Wi-Fi device from the AP/hotspot/Wi-Fi router.
Parameter
VOID.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_station_get_conn_ap_rssi
Prototype
Description
Gets the signal strength of the Wi-Fi device in station mode connected to the AP.
Parameter
Parameter
Description
Data type
Required?
Notice
rssi
obtained rssi
SCHAR_T*
Yes
output parameter
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_station_stat_get
Prototype
Description
Gets the connection status of the Wi-Fi device in station mode.
Parameter
Parameter
Description
Data type
Required?
Notice
stat
Wi-Fi and ap connection status in Station
mode, which includes Not connected, Connecting, Wrong password, ap not found, Connection failed, Successful connection, and Successful acquisition.
WF_STATION_STAT_E *
Yes
Output parameters
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_set_country_code
Prototype
Function sescription
Sets the country code.
Parameter sescription
Parameter
Description
Data type
Required?
Notice
p_country_code
The frequency and channel signal strength of Wi-Fi devices vary in different countries.
CHAR_T *
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_ap_start
Prototype
Description
Starts the Wi-Fi AP hotspot.
Parameter
Parameter
Description
Data type
Required?
Notice
cfg
Start as a configuration parameter in AP mode. The ssid, password, channel, encryption method, whether to hide ssid, and maximum number of connections are supported.
WF_AP_CFG_IF_S *
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_hal_wifi_ap_stop
Prototype
Description
Stop Wi-Fi AP hotspot.
Parameter
None.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
tuya_iot_gw_wf_user_cfg
Prototype
Description
When the network is not configured in the AP or EZ mode, call this interface for processing.
Parameter
Parameter
Description
Data type
Required?
Notice
ssid
The ssid used by the network in AP mode.
String
Yes
N/A
passwd
The password used for network configuration in AP mode.
String
Yes
N/A
token
The token used by the distribution network in AP mode.
String
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
Device reset
APP reset
You can reset a device via App. The APP reset APIs send a reset message through MQTT to reset the device.
Local reset
Alternatively, the SDK retains the ability to reset the gateway locally, for example, you can reset the device locally by pressing buttons.
tuya_iot_gw_unactive
Description
Resets the device to unassociate the gateway with the App, so that the gateway is in an inactive state.
Note: This function is asynchronous, and it will trigger the gw_reset_cb callback after execution, you can restart the thread in the callback.
Parameter
None.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
Firmware upgrade
The process
Configuration of firmware package
After the gateway or device is successfully configured, App obtains the virtual ID of the device, and add it to the white list for firmware upgrade.
Compile the firmware package that is to be upgraded, and the firmware version is newer than the firm that is running in the device.
Log on to the Tuya IoT console, find the relevant product, and upload the compiled firmware package.
Perform the follow-ups. For more information, see Upgrade Firmwares.
How the upgrade starts
After the firmware is uploaded to cloud, your devices will not receive the upgrade notification immediately. At present, the following upgrade notification is available.
App notification: when your users switch to the App panel of the devices, they receive an upgrade reminder box and can choose to upgrade or not.
Silent upgrade: after the devices are restarted, they will ask the cloud if there is a silent upgrade task, and complete the upgrade automatically. If your users happen to switch to the App panel of the devices during the upgrade, an progress tracker will be displayed, and the device cannot be operated for a while.
Forcible upgrade: when your users switch to the App panel of the devices for the first time, they receive the upgrade reminder pop-up and only confirmation is provided. The equipment cannot be operated for a while.
Upgrade detection: your users switch to the App panels of the devices and click the upper right corner to enter the information center to check the firmware version of the device, and proactively update the firmware.
The firmware upgrade process
API reference
tuya_iot_upgrade_gw_notify
Prototype
Description
The networking module firmware upgrade processing interface.
Parameter
Parameter
Description
Data type
Required?
Notice
fw
The firmware information
FW_UG_S structure pointer
Yes
N/A.
get_file_cb
Downloads the file to store.
Callback function
Yes
N/A.
upgrd_nofity_cb
Notifies the upgrade status of the application
Callback function
Yes
N/A.
pri_data
Parameters passed to get_file_cb
and upgrd_nofity_cb
.
Pointer
No
If no parameters are passed, set to NULL.
notify
Chooses whether to report upgrade progress via SDK.
Boolean
Yes
TRUE is reported by the SDK, FALSE is reported by the application layer
download_buf_size
Download maximum cache, unit: byte.
UINT_T
No
Pass in 0, SDK default cache size
Return value
Return value
Description
OPRT_OK
Success
Error Code
The error code is returned on failure.
tuya_iot_dev_upgd_progress_rept
Prototype
Description
Reports the upgrade progress.
Parameter
Parameter
Description
Data type
Required?
Notice
percent
Upgrade progress value
UINT_T
Yes
0~99
devid
When the sub-device is passed, the device ID of the sub-device; When the gateway is passed, NULL.
CHAR_T *
Yes
Refer to the SDK samples.
tp
Device type
DEV_TYPE_T
Yes
Refer to the SDK samples.
Return value
Return value
Description
OPRT_OK
Success
Error Code
The error code is returned on failure.
Data point of devices
The process
Tuya Smart provides a network application protocol based on MQTT to achieve device control and status reporting. MQTT is a lightweight message transmission protocol designed specifically for the Internet of things applications in low bandwidth and unstable network environment.
The Tuya Wi-Fi SDK encapsulates the APIs for MQTT protocol layer, which is presented in the form of data points (hereinafter referred to as DP points). It supports data type of integer, Boolean, enum, string, bitmap, and raw, which are the same as defining variables in C programming language.
You must create corresponding data points on the Tuya IoT console according to the device functions, and create a new DP Point description. For more information, see Overview of function definition.
Features
At present, up to 35 DPs for each product are supported. To develop complex functions, the raw data is recommended.
The objects such as Boolean, integer, string, enum, and bitmap, the Tuya Wi-Fi SDK filters the reported values, and the repeated data will be dropped.
API reference
dev_obj_dp_cb
Prototype
Description
The OBJ function point information command callback.
Parameter
Parameter
Description
Data type
Required?
Notice
dp
TY_RECV_OBJ_DP_S contains the dp command type, device ID controlled by dp point, the mb_id group ID when the dtt_tp is multi-broadcasted, the length of function point structure array, and the function point structure array. For more information, see tuya_cloud_com_defs.h
.
TY_RECV_OBJ_DP_S*
Yes
You can focus on the function point structure arrays. Function points are defined on the Tuya platform.
Return value
Return value
Description
None
No return value
Error Code
Error Code Returned on failure
dev_raw_dp_cb
Prototype
Description
The command callback for function points passthrough.
Parameter
Parameter
Description
Data type
Required?
Notice
dp
The structure contains the dp command type, the device ID controlled by DP, the mb_id group ID when the dtt_tp is multi-broadcasted, the Number of data bytes passed through, the passed through data types, and the function point structure array. For more information, see tuya_cloud_com_defs.h
.
TY_RECV_RAW_DP_S*
Yes
N/A
Return value
Return value
Description
VOID
No return value
dev_dp_query_cb
Prototype
Description
The device specific data query entry. It is an optional implementation.
Parameter
Parameter name
Description
Parameter type
Whether it is mandatory
Notice
dp_qry
TY_DP_QUERY_S*
Yes
N/A
Return value
Return value
Description
VOID
No return value
dev_report_dp_json_async
Prototype
Description
The report function point information in an asynchronous way.
Parameter
Parameter
Description
Data type
Required?
Notice
dev_id
The device ID.
String
Yes
If it is a child device, this parameter is the ID of the child device. If it is a gateway or MCU, this parameter is NULL.
dp_data
The function point data structure.
TY_OBJ_DP_S structure array pointer
Yes
N/A
cnt
Number of dp_data structure arrays
UINT_T
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
Error Code Returned on failure
dev_report_dp_raw_sync
Prototype
Description
The device data reporting interface in the passthrough method, and the caller guarantees the reliability of data reporting.
Parameter
Parameter
Description
Data type
Required?
Notice
dev_id
The device ID.
String
Yes
If it is a child device, this parameter is the ID of the child device. If it is a gateway or MCU, this parameter is NULL.
dpid
function point id
UINT_T
Yes
N/A
data
data
BYTE_T *
Yes
N/A
len
Data length
UINT_T
Yes
N/A
timeout
Function plunger timeout
UINT_T
Yes
Unit: seconds.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
dev_report_dp_stat_sync
Prototype
Description
The structured device data reporting interface in the passthrough method, and the caller guarantees the reliability of data reporting. It is usually used for statistical data reporting.
Parameter
Parameter
Description
Data type
Required?
Notice
dev_id
The device ID.
String
Yes
If it is a child device, this parameter is the ID of the child device. If it is a gateway or MCU, this parameter is NULL.
dp_data
Function point information structure array
TY_OBJ_DP_S *
Yes
N/A
cnt
Dp state array length
UINT_T
Yes
N/A
timeout
Function plunger timeout
UINT_T
Yes
Units: seconds.
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
Error Code Returned on failure
Log management
The Tuya Wi-Fi SDK can collect and redirect logs. By default, the log is printed to a standard terminals and can be redirected if needed, such as printing to a file or the cloud.
AddOutputTerm
Prototype
Description
Adds an output callback for the tuya_SDK log to write the log to a file.
Parameter
Parameter
Description
Data type
Required
Notice
name
The name of the log callback
String
Yes
Used for DelOutputTerm to unregister this callback
term
LOG_OUTPUT
callback
Yes
N/A
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
DelOutputTerm
Prototype
Description
Unregisters the log callback registered by the AddOutputTerm interface.
Parameter
Parameter
Description
Data type
Required?
Notice
name
The name of the log callback.
String
Yes
Unregisters log callback registered by AddOutputTerm interface.
Return value VOID
SetLogManageAttr
Prototype
Description
Sets the log level.
Parameter
Parameter
Description
Data type
Required?
Notice
curLogLevel
Log level
UINT
Yes
See uni_log.h instructions
Return value
Return value
Description
OPRT_OK
Operation succeeded.
Error Code
The error code is returned on failure.
Timer
Add a system timer
Prototype
Description
Adds a system timer.
Parameter
Parameter
Description
Data type
Required?
Notice
pTimerFunc
Timer handler function
P_TIMER_FUNC
Yes
Pointer to callback function for timer aging call
pTimerArg
Timer processing parameters
PVOID
Yes
Timer related parameters, the specific type is determined internally by the callback function
p_timerID
Timer ID number
TIMER_ID *
Yes
Output parameter, add timer ID successfully returned
Return value
Return value
Description
OPERATE_RET
Error code information
sys_stop_timer
Prototype
Description
Stops a timer.
Parameter
Paramete
Description
Data type
Required?
Notice
timerID
timer ID number
TIMER_ID *
Yes
The timer ID that needs to be stopped.
Return value
Return value
Description
OPERATE_RET
Error code information
IsThisSysTimerRun
Prototype
Description
Determines whether a timer is running.
Parameter
Parameter
Description
Data type
Required?
Notice
timerID
timer ID number
TIMER_ID *
Yes
Your need to determine whether the timer ID is running.
Return value
Return value
Description
BOOL
Whether the timing is running
sys_start_timer
Prototype
Description
Starts a timer.
Parameter
Parameter
Description
Data type
Required?
Notice
timerID
timer ID number
TIMER_ID *
Yes
need to determine whether the timer id running timer
timeCycle
Timed period
TIME_MS
Yes
Timed period, (in milliseconds)
timer_type
timer type
TIMER_TYPE
Yes
TIMER_ONCE single execution TIMER_CYCLE loop execution
Return value
Return value
Description
BOOL
Whether the timing is running
message queue
CreateMsgQueAndInit
Prototype
Description
Createa message queues.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE *
Yes
Output parameter, handle returned after successful creation
Return value
Return value
Description
OPERATE_RET
Error code information
AddMsgNodeToQueue
Prototype
Description
Creates message queues.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE
Yes
Create handle returned successfully
msgID
Message ID
MSG_ID
Yes
N/A
pMsgData
Message data
P_MSG_DATA
Yes
N/A
msgDataLen
Message data length
MSG_DATA_LEN
Yes
N/A
msgType
Message Type
MSG_TYPE
Yes
N/A
Return value
Return value
Description
OPERATE_RET
Error code information
GetMsgNodeFromQueue
Prototype
Description
Gets the message node of the specified ID.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
msgID
Message ID
MSG_ID
Yes
pMsgListNode
Message node
P_MSG_LIST *
Yes
Output parameter, obtained message node
Return value
Return value
Description
OPERATE_RET
Error code information
GetFirstMsgFromQueue
Prototype
Description
Gets the message node that first enters the chain.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
pMsgListNode
Message node
P_MSG_LIST *
Yes
Output parameter, obtained message node
Return value
Return value
Description
OPERATE_RET
Error code information
GetMsgNodeNum
Prototype
Description
Gets the total number of message nodes in the linked list.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
pMsgNodeNum
Total number of message nodes
PINT
Yes
Output parameters, total number of message nodes obtained
Return value
Return value
Description
OPERATE_RET
Error code information
DelAndFreeMsgNodeFromQueue
Prototype
Description
Removes the message node from the chain and free the message node memory.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation.
pMsgListNode
Deleted message node
P_MSG_LIST
Yes
Deleted message node
Return value
Return value
Description
OPERATE_RET
Error code information
ReleaseMsgQue
Prototype
Description
Releases the memory occupied by the message queue.
Parameter
Parameter
Description
Data type
Required?
Notice
pMsgQueHandle
Message management structure handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
Return value
Return value
Description
OPERATE_RET
Error code information
PostMessage
Prototype
Description
Delivers a message to the module (the message is executed first).
Parameter dDescription
Parameter
Description
Data type
Required?
Notice
msgQueHandle
Message processing handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
msgID
Message ID
MSG_ID
Yes
N/A
pMsgData
Message data
P_MSG_DATA
Yes
N/A
msgDataLen
Message data length
MSG_DATA_LEN
Yes
N/A
Return value
Return value
Description
OPERATE_RET
Error code information
PostInstancyMsg
Prototype
Description
Delivers urgent messages (messages are executed immediately).
Parameter
Parameter
Description
Data type
Required?
Notice
msgQueHandle
Message processing handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
msgID
Message ID
MSG_ID
Yes
N/A
pMsgData
Message data
P_MSG_DATA
Yes
N/A
msgDataLen
Message data length
MSG_DATA_LEN
Yes
N/A
Return value
Return value
Description
OPERATE_RET
Error code information
WaitMessage
Prototype
Description
Delivers urgent messages (messages are executed immediately). WaitMessage
needs to be called successfully, and DelAndFreeMsgNodeFromQueue needs to be called after the message is processed to release the message
Parameter
Parameter
Description
Data type
Required?
Notice
msgQueHandle
Message processing handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
ppMsgListNode
Message node
P_MSG_LIST *
Yes
Output parameters, message node received
Return value
Return value
Description
OPERATE_RET
Error code information
Task queue
CreateAndStart
Prototype
Description
Creates a task.
Parameter
Parameter
Description
Data type
Required?
Notice
pThrdHandle
pThrdHandle task handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
pThrdFunc
Task processing function
P_THRD_FUNC
Yes
N/A
pThrdFuncArg
Task parameters
PVOID
Yes
N/A
stack_size
Specify the task stack size
STACK_SIZE
Yes
N/A
pri
Task priority
TRD_PRI
Yes
N/A
thrd_name
Task name
CHAR *
Yes
N/A
return value
Return value
Description
OPERATE_RET
Error code information
ThrdJoin
Prototype
Description
Creates a task.
Parameter
Parameter
Description
Data type
Required?
Notice
thrdHandle
pThrdHandle task handle
MSG_QUE_HANDLE
Yes
Handle returned after successful creation
ppThrdRet
Task exit code
VOID **
Yes
Return value
Return value
Description
OPERATE_RET
Error code information
HAL interface
The Tuya Device OS is a platform-independent device-to-cloud operating system. To achieve platform independence, you need to implement the underlying abstract interface according to your systems. For specific implementation, refer to Tuya_GM_WIFI_SDK development environment adaptation Description.
SDK samples
The Tuya Wi-Fi SDK provides a dedicated Demo to guide you to use. For specific steps, please refer to Tuya_Wi-Fi_SDK Demo Description.
Error codes
Error Code
Error Code Value
OPRT_OK
(0)
OPRT_COM_ERROR
(-1)
OPRT_INVALID_PARM
(-2)
OPRT_MALLOC_FAILED
(-3)
OPRT_NOT_SUPPORTED
(-4)
OPRT_NETWORK_ERROR
(-5)
OPRT_TIMEOUT
(-6)
OPRT_FILE_NOT_FIND
(-7)
OPRT_INIT_MORE_THAN_ONCE
(-8)
OPRT_INDEX_OUT_OF_BOUND
(-9)
OPRT_RESOURCE_NOT_READY
(-10)
OPRT_INIT_MUTEX_ATTR_FAILED
(-101)
OPRT_SET_MUTEX_ATTR_FAILED
(-102)
OPRT_DESTROY_MUTEX_ATTR_FAILED
(-103)
OPRT_INIT_MUTEX_FAILED
(-104)
OPRT_MUTEX_LOCK_FAILED
(-105)
OPRT_MUTEX_TRYLOCK_FAILED
(-106)
OPRT_MUTEX_LOCK_BUSY
(-107)
OPRT_MUTEX_UNLOCK_FAILED
(-108)
OPRT_MUTEX_RELEASE_FAILED
(-109)
OPRT_CR_MUTEX_ERR
(-110)
OPRT_MEM_PARTITION_EMPTY
(-111)
OPRT_MEM_PARTITION_FULL
(-112)
OPRT_MEM_PARTITION_NOT_FOUND
(-113)
OPRT_DONOT_FOUND_MODULE
(-114)
OPRT_INIT_SEM_FAILED
(-201)
OPRT_WAIT_SEM_FAILED
(-202)
OPRT_POST_SEM_FAILED
(-203)
OPRT_THRD_STA_UNVALID
(-301)
OPRT_THRD_CR_FAILED
(-302)
OPRT_THRD_JOIN_FAILED
(-303)
OPRT_THRD_SELF_CAN_NOT_JOIN
(-304)
OPRT_TIMERID_EXIST
(-401)
OPRT_TIMERID_NOT_FOUND
(-402)
OPRT_TIMERID_UNVALID
(-403)
OPRT_GET_IDLE_TIMERID_ERROR
(-404)
OPRT_MSG_NOT_FOUND
(-501)
OPRT_MSG_LIST_EMPTY
(-502)
OPRT_WIFI_SCAN_FAIL
(-601)
OPRT_WF_MAC_SET_FAIL
(-602)
OPRT_WF_CONN_FAIL
(-603)
OPRT_WF_NW_CFG_FAIL
(-604)
OPRT_WF_AP_SACN_FAIL
(-605)
OPRT_WF_NOT_FIND_ASS_AP
(-606)
OPRT_DISCONNECTED_WITH_ROUTER
(-607)
OPRT_SOCK_ERR
(-701)
OPRT_SET_SOCK_ERR
(-702)
OPRT_SOCK_CONN_ERR
(-703)
OPRT_BUF_NOT_ENOUGH
(-704)
OPRT_URL_PARAM_OUT_LIMIT
(-705)
OPRT_HTTP_OS_ERROR
(-706)
OPRT_HTTP_PR_REQ_ERROR
(-707)
OPRT_HTTP_SD_REQ_ERROR
(-708)
OPRT_HTTP_RD_ERROR
(-709)
OPRT_HTTP_AD_HD_ERROR
(-710)
OPRT_HTTP_GET_RESP_ERROR
(-711)
OPRT_HTTP_AES_INIT_ERR
(-712)
OPRT_HTTP_AES_OPEN_ERR
(-713)
OPRT_HTTP_AES_SET_KEY_ERR
(-714)
OPRT_HTTP_AES_ENCRYPT_ERR
(-715)
OPRT_CR_HTTP_URL_H_ERR
(-716)
OPRT_HTTPS_HANDLE_FAIL
(-717)
OPRT_HTTPS_RESP_UNVALID
(-718)
OPRT_HTTPS_NO_SUPPORT_RANGE
(-719)
OPRT_HTTPS_NOT_ENCRYPT_RET
(-720)
OPRT_CR_CJSON_ERR
(-801)
OPRT_CJSON_PARSE_ERR
(-802)
OPRT_CJSON_GET_ERR
(-803)
OPRT_NOT_FOUND
(-901)
OPRT_DP_ATTR_ILLEGAL
(-902)
OPRT_DP_TYPE_PROP_ILLEGAL
(-903)
OPRT_DP_REPORT_CLOUD_ERR
(-904)
OPRT_NO_NEED_SET_PRODINFO
(-905)
OPRT_NW_INVALID
(-906)
OPRT_SELECT_ERR
(-907)
OPRT_SELECT_TM
(-908)
OPRT_SEND_ERR
(-909)
OPRT_DEV_NOT_BIND
(-910)
OPRT_FW_UG_FAILED
(-911)
OPRT_VER_FMT_ERR
(-912)
OPRT_FW_NOT_EXIST
(-913)
OPRT_SEM_CR_ERR
(-914)
OPRT_SELECT_TIMEOUT
(-915)
OPRT_GW_MQ_OFFLILNE
(-916)
OPRT_NOT_SPT_CLX_DP
(-917)
OPRT_RECV_ERR
(-918)
OPRT_UG_PKG_NOT_ENOUGH
(-919)
OPRT_SCMA_INVALID
(-920)
OPRT_PRODECT_KEY_NULL
(-921)
OPRT_DEVICE_VER_NULL
(-922)
OPRT_MSG_OUT_OF_LMT
(-923)
OPRT_NOT_FOUND_AUTH_SSID
(-924)
OPRT_SOCKET_FAULT
(-925)
OPRT_MQ_PUBLISH_TIMEOUT
(-926)
OPRT_GW_NOT_EXIST
(-927)
OPRT_GW_SCHEMA_SIZE_LMT_OUT
(-928)
OPRT_DEV_DP_CNT_INVALID
(-929)
OPRT_TOKEN_OVERTIME
(-930)
OPRT_WF_NW_CFG_RECV_CONTINUE
(-931)
OPRT_RECV_DA_NOT_ENOUGH
(-932)
OPRT_SERV_VRFY_FAIL
(-933)
OPRT_KVS_WR_FAIL
(-934)
OPRT_KVS_RD_FAIL
(-935)
OPRT_NO_AUTHENTICATION
(-936)
OPRT_CMD_OUT_OF_TIME_NOT_EXEC
(-937)
OPRT_CMD_NOT_EXEC
(-938)
OPRT_CRC32_FAILED
(-939)
OPRT_LAN_NO_CLIENT
(-940)
OPRT_WF_INTF_LACK_REG_CB
(-941)
OPRT_WF_INTF_NO_REG_CB
(-942)
OPRT_STORAGE_UPLOAD
(-943)
OPRT_DP_ID_NOT_FOUND
(-944)
OPRT_DP_TP_NOT_MATCH
(-945)
OPRT_DEV_NEED_REGISTER
(-946)
OPRT_DEV_RESET_FACTORY
(-947)
OPRT_API_VERSION_WRONG
(-948)
OPRT_DEV_ALREADY_BIND
(-949)
OPRT_API_DECODE_FAILED
(-950)
OPRT_API_TOKEN_EXPIRE
(-951)
OPRT_NOT_EXISTS
(-952)
OPRT_DP_ALREADY_PROCESS
(-953)
OPRT_API_VERIFY_FAILED
(-954)
OPRT_FILE_IS_FULL
(-999)
OPRT_WRITE_FILE_FAILED
(-1000)
OPRT_OPEN_FILE_FAILED
(-1001)
OPRT_PRINT_LOG_LEVEL_HIGHER
(-1002)
OPRT_FORMAT_STRING_FAILED
(-1003)
OPRT_STRING_TOO_LONG
(-1004)
OPRT_WR_FLASH_ERROR
(-1005)
OPRT_ROUTER_NOT_FIND
(-1006)
OPRT_EXCEED_UPPER_LIMIT
(-1007)
OPRT_SECURITY_VERIFY_NOT_OK
(-1008)
OPRT_FLASH_NOT_ENOUGH_PAGE
(-1009)
OPRT_ERASE_FLASH_ERROR
(-1088)
OPRT_OSS_OPERATION_INIT_FAILED
(-1100)
OPRT_OSS_OPERATION_UPDATE_FAILED
(-1101)
OPRT_OSS_OPERATION_UPLOAD_FAILED
(-1102)
OPRT_MOTION_DETECTION_ALARM_PACK_REPORT_FAILED
(-1103)
OPRT_TRANSFER_INIT_FAILED
(-1104)
OPRT_LOG_SEQ_LOCKED
(-1200)
OPRT_LOG_SEQ_DONT_LOCKED
(-1201)
OPRT_LOCAL_LINK_IGNORE
(-1300)
OPRT_LOCAL_LINK_CONTINUE
(-1301)
OPRT_IMG_PROC_IMG_TYPE
(-1201)
OPRT_IMG_PROC_IMG_SIZE
(-1202)
OPRT_IMG_PROC_PTR_NULL
(-1203)
OPRT_IMG_PROC_ARRAY_SIZE
(-1204)
OPRT_IMG_PROC_SCALE_SIZE
(-1205)
OPRT_IMG_PROC_PARA_ERROR
(-1206)
OPRT_EVENT_STATUS_INVALID
(-2000)
OPRT_ENCRYPT_KEY_UPDATED
(-2001)
OPRT_ORDER_EXPIRE
(-2002)
OPRT_NO_MORE_DATA
(-2003)
OPRT_CLOUD_STORAGE_OFF
(-2004)
OPRT_CLOUD_STORAGE_STATUS_INVALID
(-2005)
OPRT_REMOTE_API_RUN_UNKNOW_FAILED
(-2006)
OPRT_DEVICE_REMOVED
(-2007)
OPRT_SIGNATURE_ERROR
(-2008)
OPRT_DEVICE_NOT_WRONG
(-2009)
OPRT_WORK_NUM_EXIST
(-2010)
OPRT_SERVER_NOT_CONNECTED
(-2011)
OPRT_AUTH_FAIL
(-2012)
OPRT_LOCAL_AI_FACE_NOT_INIT
(-2013)
OPRT_LOCAL_AI_FACE_DB_ERROR
(-2014)
OPRT_WARN_LIVING_CHROMECAST
(148)
OPRT_WARN_LIVING_ECHOSHOW
(149)
OPRT_INFO_QUIT_CHROMECAST
(150)
OPRT_INFO_QUIT_ECHOSHOW
(151)
MQTT_DEF_ERR
(-3000)
MQTT_INVALID_PARM
(-3001)
MQTT_MALLOC_FAILED
(-3002)
MQTT_DNS_PARSED_FAILED
(-3010)
MQTT_SOCK_CREAT_FAILED
(-3011)
MQTT_SOCK_CET_FAILED
(-3012)
MQTT_TCP_CONNECD_FAILED
(-3013)
MQTT_TCP_TLS_CONNECD_FAILED
(-3014)
MQTT_PACK_SEND_FAILED
(-3015)
MQTT_RECV_DATA_FORMAT_WRONG
(-3016)
MQTT_RECV_DATA_MSGID_NOT_MATCH
(-3017)
MQTT_START_TM_MSG_ERR
(-3018)
MQTT_OVER_MAX_MESSAGE_LEN
(-3019)
MQTT_PING_SEND_ERR
(-3020)
Last updated
Was this helpful?