Zigbee 子设备故障替换

更新时间:2025-09-12 07:24:30下载pdf

功能概述

Zigbee 子设备故障替换功能是涂鸦开发者平台提供的一项重要服务,允许用户在 Zigbee 子设备出现故障时,快速替换设备而不需要重新进行复杂的配网和配置过程。该功能通过 tuya_zigbee_user_fault_replace_init 函数开启服务,能够极大提升用户体验和设备维护效率。

功能特点

  • 无缝替换:故障设备更换后自动恢复原有配置和功能。
  • 简化操作:用户无需重新配网或使用 App 进行复杂设置。
  • 版本兼容:支持指定最低 NCP 固件版本要求。
  • 稳定可靠:经过涂鸦平台验证的标准化替换流程。

接口说明

tuya_zigbee_user_fault_replace_init

/**
 * @brief tuya zigbee sub devices replace service
 *
 * @param[in] zb_ncp_ver Gateway ncp firmware version. Example:"1.0.9"
 *
 * @return OPRT_OK on success. Others on error,please refer to tuya_error_code.h 
 */
OPERATE_RET tuya_zigbee_user_fault_replace_init(CHAR_T *zb_ncp_ver);

  • zb_ncp_ver:Zigbee NCP 固件版本号,字符串格式,指定网关所需的最低 NCP 版本,例如 “1.3.0”。
  • 返回值OPERATE_RET 类型,OPRT_OK 表示成功,其他值表示错误。了解更多,可以参考 tuya_error_code.h

使用示例

启用功能宏定义

在编译配置中启用故障替换功能:

#define DEV_FAULT_REPLACE 1

在适当位置调用初始化函数

在网关主程序的初始化阶段调用故障替换初始化函数:

#if defined(DEV_FAULT_REPLACE) && (DEV_FAULT_REPLACE == 1)
    TUYA_CALL_ERR_RETURN(tuya_zigbee_user_fault_replace_init("1.3.0"));
#endif

处理初始化返回值

确保正确处理函数返回值,避免初始化失败导致功能异常:

OPERATE_RET ret = tuya_zigbee_user_fault_replace_init("1.3.0");
if (OPRT_OK != ret) {
    PR_ERR("Zigbee fault replace init failed: %d", ret);
    // 处理错误情况
}

常见问题解答

故障替换功能是否支持所有 Zigbee 设备?

仅支持专门为此功能设计的涂鸦 Zigbee 子设备,具体请参考设备规格说明。

如果替换失败怎么办?

请检查新设备是否为同型号、未配网状态,并确保网关网络连接正常。

如何知道 NCP 固件版本?

可以在 涂鸦智能生活 App 的 我的 > 设置 > 设备升级 页面查看当前 NCP 固件版本,如下图所示。

Zigbee 子设备故障替换

编译时如果出现缺少链接库的报错怎么办?

最常见的原因是缺少包含 tuya_gw_mesh_dev_grp_notify 函数实现的蓝牙库文件。

-l:libty_module_bluetooth.a \
-l:libty_module_bluetooth_host.a 

解决方案:检查编译配置,确保链接了正确的库,在 software/TuyaOS/apps/tuyaos_demo_zigbee/Makefile 中添加对应的库,如下图所示:

Zigbee 子设备故障替换