找回密码
 立即注册
搜索
查看: 2901|回复: 18

[插件集成] [已修复]修复米家官方集成网络波动导致数据不更新的问题

[复制链接]

1

主题

6

回帖

181

积分

论坛技术达人

积分
181
金钱
169
HASS币
20
发表于 2025-4-17 23:17:19 | 显示全部楼层 |阅读模式
本帖最后由 RangerCD 于 2025-4-25 17:07 编辑

4月25日更新

修复PR已合并至主分支,随0.3.0发布。
升级米家官方集成至0.3.0以上即可修复这个问题


米家官方的HA集成有个由来已久的bug,网络波动以后有可能传感器数据就不更新同步了。
看了一下Github的issue,有9个都是在说这个问题。
正好前几天有群友也在问这个问题,就顺便看了一下报错日志,然后提了个PR给修了。
Snipaste_2025-04-17_23-12-53.png


引起这个bug的原因如下:
当网络发生变更的时候,集成会尝试切换到不同的数据来源。
例如原本是走云端的数据,结果路由器重启外网断了,就尝试切换到本地。
切换的逻辑里面是先取消旧的订阅,然后再订阅新的来源。
但是这里取消旧的订阅的时候,很有可能旧的链接已经断开了,导致抛了个异常,结果把新的订阅给跳过去了。


我在https://github.com/XiaoMi/ha_xiaomi_home/pull/991提了个PR修复这个问题。
有几个兄弟反映可以修复
Snipaste_2025-04-17_23-09-38.png
如果大家也有遇到这个问题,可以按下面的步骤试试看能不能修复:

随后可以尝试重启路由器或者断开重连HA网络模拟故障,并查看设备状态是否会恢复更新。


这里主要解决的是:有中枢的情况下,网络波动导致的数据不更新的问题

Github上有人反馈说他没有中枢,网络波动以后实体一直不可用。
这个应该是另一个独立的问题,我和另一个群友都没法复现,暂时不清楚具体情况。



miot_client.py (81.29 KB, 下载次数: 29)




评分

参与人数 3金钱 +35 HASS币 +20 收起 理由
6907367 + 5 高手,这是高手!
admin + 20 + 20 大神666!
qjrxsoft + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

0

主题

54

回帖

215

积分

中级会员

积分
215
金钱
161
HASS币
0
发表于 2025-5-21 11:24:11 | 显示全部楼层
6666666666
回复

使用道具 举报

0

主题

15

回帖

143

积分

注册会员

积分
143
金钱
128
HASS币
0
发表于 2025-5-13 09:55:03 | 显示全部楼层
qjrxsoft 发表于 2025-4-18 00:10
是啊,但家了的设备太多了,折腾不起,不敢冒险尝试,现阶段还用Xiaomi Gateway 3和Xiaomi Miot Auto这两 ...

我之前也一直没迁移,后来忘记哪一次miot更新出bug我就一口气全部迁移到xiaomi home了,官方集成对蓝牙和蓝牙mesh设备的支持体感更完美,回头总结其实就是拖延症,看着满屏幕的设备和自动化不想重新再做一遍吧
回复

使用道具 举报

10

主题

51

回帖

265

积分

中级会员

积分
265
金钱
204
HASS币
0
发表于 2025-5-2 14:07:30 | 显示全部楼层
大佬给力啊,学习一下
回复

使用道具 举报

1

主题

23

回帖

247

积分

中级会员

积分
247
金钱
223
HASS币
0
发表于 2025-4-25 09:26:25 | 显示全部楼层
mark, 支持
回复

使用道具 举报

4

主题

75

回帖

375

积分

中级会员

积分
375
金钱
296
HASS币
0
发表于 2025-4-19 00:50:25 | 显示全部楼层
RangerCD 发表于 2025-4-18 12:28
猜测可能和网络环境有关,还得是具体环境具体分析。比如华硕路由器有个经典的“开启 WAN 中断的浏览器导 ...

哈哈,麻烦老哥了,不过我现在能用就不折腾啦,感谢大佬的付出
回复

使用道具 举报

1

主题

18

回帖

283

积分

中级会员

积分
283
金钱
264
HASS币
0
发表于 2025-4-18 14:37:20 | 显示全部楼层
RangerCD 发表于 2025-4-18 10:09
还是希望有个一站式的集成,目前看来官方的潜力大一点,不过还需要些积累 ...

我想实现完全本地化不依赖云端
但是官方插件的开发者说了,设备状态更新只会使用订阅,不会加入轮询功能
那么那些不支持本地上报的设备,就无法用官方插件实现完全本地化
所以也不抱期望,分开使用不同插件了
好在中枢网关的极客版网页界面,很清楚地对支持和不支持本地上报的设备进行了分类
回复

使用道具 举报

1

主题

6

回帖

181

积分

论坛技术达人

积分
181
金钱
169
HASS币
20
 楼主| 发表于 2025-4-18 12:28:52 | 显示全部楼层
mmmmmmm714 发表于 2025-4-18 12:16
老哥,我再做了几个测试,基本确定和断网的时间有关联,无论我是打开或者关闭防火墙,还是主动断开家庭网络,都 ...

猜测可能和网络环境有关,还得是具体环境具体分析。比如华硕路由器有个经典的“开启 WAN 中断的浏览器导页通知”,会导致一些米家设备断网后没法恢复。
我昨天在米家新建了一个家庭,绑了一个play增强版上去,然后单独用docker另起了一套HA,结果无论怎么折腾都还是能恢复
回复

使用道具 举报

4

主题

75

回帖

375

积分

中级会员

积分
375
金钱
296
HASS币
0
发表于 2025-4-18 12:16:19 | 显示全部楼层
老哥,我再做了几个测试,基本确定和断网的时间有关联,无论我是打开或者关闭防火墙,还是主动断开家庭网络,都会在大概一分钟的时候跳到不再可用状态.但是只是日常的路由器重启,大神的补丁没有问题,已经可以处理这个情况.日常用就没问题了,我这种是特殊情况,只是好奇小米的代码里到底写了判断
回复

使用道具 举报

4

主题

75

回帖

375

积分

中级会员

积分
375
金钱
296
HASS币
0
发表于 2025-4-18 12:06:19 | 显示全部楼层
老哥需要的话,我可以给你复现的视频或者日志
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-7-4 14:25 , Processed in 0.261413 second(s), 17 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表