编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

米家用户升级homeassistant 2023.6后插件失效的解决办法

wxchong 2024-06-21 14:12:25 开源技术 15 ℃ 0 评论

相信很多使用nas的人和我一样,都会安装home assistant。

在现阶段它仍然是衔接米家和homekit的最好方式。

而ha0y/xiaomi_miot_raw这个插件,是其中比较优秀的米家插件,可以很轻松的把zigbee、ble、wifi等协议的米家设备接入homeassistant,再通过homekit bridge插件同步给Apple的“家庭”,实现米家和Apple的互通。

这个插件已经很久没有更新了,但我还是一直在使用它。

这次升级到home assistant最新的版本2023.6后,米家设备失效。

仔细看了升级说明,才知道是因为home assistant新版本使用了python 3.11,不再支持python 3.10以及以前版本的@asyncio.coroutine/yield from,导致ha0y/xiaomi_miot_raw插件的米家设备全部失效。

因为ha0y/xiaomi_miot_raw没有更新,在网上搜索了很久,才找到解决办法,为了方便其他和我一样的人,我分享下我找到的解决办法。

目前的解决方法只有通过更改xiaomi_miot_raw文件夹下的py文件来恢复使用。

1、根据自己的实际安装目录进入/Docker/HomeAssistant/config/custom_components/xiaomi_miot_raw文件夹里,就能看到很多py文件了。(这里也就是手动安装ha0y/xiaomi_miot_raw插件的安装目录,若不知道自己的 HA 安装目录:在 HA 中点击配置-底部信息,页面中的configuration.yaml 路径即为 HA 的安装目录。

2、用文本工具(推荐使用Visual Studio Code)打开这些py文件,找到其中的“@asyncio.coroutine”字节并删除,然后保存退出。py文件里只有这一个地方需要修改。

3、有“@asyncio.coroutine”字节的py文件全部修改完成后,再修改basic_dev_class.py这个文件,将其中的“yield from”改成“await”,注意这里有2个地方需要修改。

4、最后,将basic_dev_class.py这个文件的685行的“def”修改成“async def

这是为了和之前删除“@asyncio.coroutine”字节的py文件里的相关内容保持一致。

全部修改完成后,点击home assistant的“配置”??“系统”,点击右上角的重启home assistant。

重启后,你的米家设备应该都恢复了,如果还有问题,可以尝试删除设备重新添加一遍。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表