20221224-HomeAssistant树莓派-维护答疑

求人不如求己

官网

Home Assistant
Github

Homebridge
Home Assistant
Homebridge-homeassistant
Homebridge-mi-aqara
Hassio 第三方源
HA-floorplan

社群&论坛

个人主导的文档翻译 home assistant 中文文档 中文

个人相关 专题 slack 中文

ha 官方论坛

瀚思彼岸论坛 (中文)
HA 汉化参考文档(非官方,我参与部分翻译工作)

系统更新

home assistant

ha 的更新方法跟随安装方法各不相同,我在安装篇中均有涉及,这里特别提取出来,方便大家参考

注意,为了保证国内用户的更新速度,我特别在更新指令中明确了pypi 源,海外的派友可以忽略,此外的以下命令均使用sudo 权限

All-in-One
sudo systemctl stop home-assistant.service
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/homeassistant_venv/bin/activate
pip3 install –upgrade homeassistant -i https://pypi.doubanio.com/simple/
exit
sudo system start home-assistant.service
Hassbian
sudo systemctl stop home-assistant@homeassistant.service
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 install –upgrade homeassistant -i https://pypi.doubanio.com/simple/
exit
sudo systemctl start home-assistant@homeassistant.service

homebridge

hb 及其组件的更新是在node.js 框架内进行的,使用sudo npm upgrade -g 包名 相关命令即可完成,常用的包有

homebridge
homebridge-yeelight
homebridge-mi-aqara
homebridge-homeassistant
homebridge-mi-acpartner
homebridge-mi-airpurifier
homebridge-mi-philips-light

具体的配置方法可在github 里直接搜索插件名获取

国内派友可以转用淘宝镜像源

npm config set registry https://registry.npm.taobao.org

日志监测

系统日志是debug 的核心参考文件,希望大家遇到问题学会第一时间查看log ,定位问题,同时在向人提问时,附上相关的log ,也是良好的提问习惯

当我们把 HB&HA 添加进系统后台自启项目后,便可以直接通过systemctl 命令进行打开,关闭,重启、查询系统服务日志等一系列操作,常见的命令有

启动 systemctl start 服务名
终止:systemctl stop 服务名
重启:systemctl restart 服务名
查询服务状态:systemctl status 服务名 -l
查询日志:journalctl -u 服务名
列出所有服务:systemctl list-unit-files –type=service

经常使用的服务有

homebridge
home-assistant.service (Raspbian)
home-assistant@homeassistant.service (Hassbian)
appdaemon@appdaemon.service (HADashborad)
samba (SMB)

另外还可以使用下述指令追踪所有服务日志,tail -F /var/log/daemon.log

除了通过systemctl 查询日志,ha 查看日志的方法比较锁阳,最直观的就是在系统前端的dev-info 面板查看,日志文件放在配置文件所在的文件夹中,home-assistant.log 文件便是,HB 如若手动开启,默认在终端中滚动显示实时日志

Q&A
HB 端口被占用

events.js:160 throw er; // Unhandled ‘error’ event ^ Error: listen EADDRINUSE :::51826 at Object.exports._errnoException

出现上述错误的原因是用户在添加 HB 为自启任务的情况下,手动开启 HB。通俗来说就是你在同一端口试图开启 2 个 HB,因此显示端口被占用。

解决办法就是无需重复开启 HB,直接使用上面提及的指令重启已开启的 HB 服务即可;或者关闭已开启的 HB,再使用 homebridge 手动开启新的 HB 服务。

成功安装 HB + HA 并在家庭 app 添加“桥”后,显示无设备

这是由于 HB-HA 插件更新导致的,最新的插件中,HB 的 config.json配置文件增加了一项设置 “default_visibility”:”visible”,在 2.3.1 版本前默认是隐藏的,因此就出现了所有设备被隐藏的情况。解决方法非常简单,将 HB-HA 插件更新到最新版本即可,默认会自动添加以上指令,大家也可以手动添加。

HA 配置文件格式错误

需要再次提醒的是,yaml文档非常强调代码的格式,因此请大家额外重视空格、换行、-号的使用。一般来说,在最新 HA 系统中,如果配置文件格式出现错误,首页中会出现如下提示:

null
同时结合 Log,可以快速定位出错的位置。

格式正确,无法添加小米网关

很多情况下,这表明你的格式并不正确 :( ,常见的错误有:

key 大小写问题
mac 的 : 号问题

另,小米平台在 0.53 之后的更新中统一为 2 个 接入方式:Zigbee 设备统一使用 xiaomi_aqara;WiFi 设备统一使用 xiaomi_miio,请注意区别。

设备在家庭 app 中重复出现

出现此错误的原因是用户将同一设备同时接入了 HA 和 HB,那么 Homekit 就会通过 HB-HA 插件识别一次设备,后再通过 HB 的其他相关插件识别一次设备,最终导致重复识别添加。

解决方法就是在 HA 配置文件 configuration.yaml的 customize模块中找到对应设备,添加 homebridge_hidden: true 设置,之后重启 HA、HB 服务即可。如果仍未生效,请清除 HB 缓存后重试。 更具体的设置方法,欢迎参考系列的”个性化配置篇”

平面图在 iOS 及 macOS 中显示 script error

由于之前代码未跟进 Polymer 2.0 框架,导致 Apple Webkit 载入错误。目前作者已经修复了这个问题,请大家前往 Github 下载最新的源码。

HA 或者 HB 配置文件进行改动后,没有生效
如果你在 HA 进行了有关 HB 的配置变更,如设置 homebridge_hidden 等属性或者对 HB 的 config.json 文件进行了修改。修改后首先需要做的是重启 HB,清除 iOS 家庭 app 的后台。重新打开 app,如若发现配置尚未生效,就需要考虑清除 HB 的缓存:

sudo rm -rf /home/pi/.homebridge/persist/
需要注意的是清除缓存将导致先前所有在家庭 app 内的分组命名等操作失效。
之后重启 HB,配置应该就如期生效了。

在 HB 中删除“桥”后无法再添加或嗅探到
发生此问题的原因是,系统已经对你的设备和配置有了记忆,因此需要删除有关缓存。
首先,使用和 『问题7』同样的操作,清理 HB 缓存,重开 APP,确认是否可以添加。
如果该方法依旧不能解决问题,则打开 HB 的配置文件 config.json,将开头的 username 项类似 mac 地址的字符串更改几个数字,之后同样清除缓存,重启 HB,重开 app。

Apple Home 可以实现外网控制吗?
可以,实现外网控制需要一台处于内网环境下的 Apple TV (3代及以上)或者 iPad 当做『家庭中枢』。如果需要使用 家庭 App 自带的『自动化设置』功能,则只有 第 4 代 Apple TV 支持。

安装不完整导致 dns 服务器错误
如果启动 HB 后遇到如下错误:

module.js:328
throw err;
^

Error: Cannot find module ‘../build/Release/dns_sd_bindings’
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/lib/node_modules/homebridge/node_modules/mdns/lib/dns_sd.js:32:22)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
请操作如下指令:

cd /usr/local/lib/node_modules/homebridge
sudo npm install –unsafe-perm mdns
sudo npm rebuild –unsafe-perm
以上是比较普遍出现在派友中的问题,我也将不断更新,大家亦可通过评论及其他渠道反映个人遇到的困难。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~