- 积分
- 212
- 金钱
- 201
- 威望
- 0
- 贡献
- 0
- HASS币
- 0
中级会员
- 积分
- 212
- 金钱
- 201
- HASS币
- 0
|
发表于 2025-3-29 20:40:04
|
显示全部楼层
问题根源:HA的AtomicWriter方法存在一定概率的Bug,偶尔对配置文件无法正确识别为UTF-8文件。
解决思路:强制写入配置文件时使用UTF-8编码。
我已在GIT提了PR了,希望新版本能接受修复方案。
写了一个脚本,以odroid-c2-homeassistant:2025.3.4为例。
ha_id="`docker container ls | grep odroid-c2-homeassistant | awk '{print $1}'`"
docker exec -it $ha_id /bin/bash
sed -e -i "s/\"\"\"/\"\"\"\n encoding = \"utf-8\" if \"b\" not in mode else None/g" /usr/src/homeassistant/homeassistant/util/file.py
sed -e -i "s/AtomicWriter(filename, mode=mode, overwrite=True)/AtomicWriter(filename, mode=mode, overwrite=True, encoding=encoding)/g" /usr/src/homeassistant/homeassistant/util/file.py
docker restart $ha_id |
|