关于zigbee网关,子设备的一些问题
Tuya MiniApp Tools 版本信息:Node: v18.17.0 Tools: 0.7.0 Ray: 1.5.20 插件版本1.7.3-beta
使用的demo是以public-sdm作为基础制作的
一:
问题描述:
当我的网关子设备离线的时候,开发者工具中会有离线弹窗,且重新上线之后,刷新页面仍有离线弹窗;但是真机调试并不会弹窗,想知道哪边呈现的效果是正确的。
想要达成的效果:
我想,在网关的面板中,只有网关离线才会有离线弹窗,只需要显示子设备的在线状态,要如何修改。
二:
想要达成的效果:
我想在网关面板中显示子设备的信息,调用了onSubDeviceDpUpdate,onSubDeviceInfoUpdate,onSubDeviceRemoved。分别监听子设备的dp状态变化,子设备信息变化,子设备移除。
实际的效果:
1:我的依赖数组应该是错误的,但测试下来,在开发者工具中onSubDeviceDpUpdate可以监听到dp的变化(真题调试监听不到)。onSubDeviceInfoUpdate只能监听到子设备的名称修改,dp和在线状态都没能监听到。且在子设备离线状态,依然能监听到子设备的名称修改。
2:onSubDeviceRemoved没有成功监听到子设备的移除。Code: Select all
useEffect(() => { const handleSubDeviceDpUpdate = (data) => { console.log('有dp变更:', data); // console.log('up id:', data.deviceId); // console.log('up dps:', data.dps); setNewData(data); }; const handleSubDeviceInfoUpdate = (data) => { console.log('有信息更新:', data); getchSubDeviceInfo(); }; const handlesubremov =(data) =>{ console.log('子设备移除:', data); }; onSubDeviceDpUpdate(handleSubDeviceDpUpdate); onSubDeviceInfoUpdate(handleSubDeviceInfoUpdate); onSubDeviceRemoved(handlesubremov); return () => { offSubDeviceDpUpdate(handleSubDeviceDpUpdate); offSubDeviceInfoUpdate(handleSubDeviceInfoUpdate); offSubDeviceRemoved(handlesubremov); }; }, [devInfo.devId]);