相信很多使用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。
重启后,你的米家设备应该都恢复了,如果还有问题,可以尝试删除设备重新添加一遍。
本文暂时没有评论,来添加一个吧(●'◡'●)