Home Assistant 树莓派1代入坑记

13年的时候,入手一枚树莓派1b,曾经派上过大用场,放在宿舍作为中继跳板,实验室只能用贵的不行学校流量,宿舍可以接商用宽带,因此在树莓派上pppoe拨号的同时,作为VPN接入服务器在校园网上搭一条VPN链路就可以在实验室享受便宜的宽带了。这个树莓派已经陪着快10年了,外面的塑料壳子已经破损,胶布将就粘着用。接着往后不需要作为宽带中转的话,还是习惯性把树莓派插着,看着上面的灯在闪就很解压。

突然有一天脑洞大开,想用苹果的Homekit来控制小米的各种智能开关,因为每次手机开个小米app就要翻半天,Homekit只需要喊一声“Hey Siri“,就能控制了。

翻阅一圈发现有个封装好的HASSOS系统很方便,把系统烧录到卡上就能用了,目前最新版的官方镜像只支持树莓派3或4,于是只能下个老版本的支持树莓派的试一试,然后在Preparing Home Assistant卡了半天,花了一天时间重装了三回,还是挂着外网的环境,都没有用。其实吧HASSOS基础无论版本怎么样,都会强制安装最新版本的2022.07.07的Docker,直接在我的机器上挂了。因为在Docker里面,虽然部署方便,但是出了问题很难查找,然后就放弃了,试试在一个干净的Raspbian系统上来安装。

考虑到树莓派比较老,重新刷了个stretch版本的Debian的Raspbian,Python 是3.5版本的,这时候可以用国内的apt源以及清华的python源,不用费劲去考虑网络的问题了,按照以下的链接来进行安装,

https://post.smzdm.com/p/av7z7mvm/

可能是Python的版本的过低,最后Home Assistant还是没起来。估计我要是装个高一点Debian版本还是可以用的。接下来找到Hassbian系统,虽然现在已经不再维护,但我觉得2019年最后停止更新的时间也不算太晚,距离2022也就3年而已,可能兼容性问题不是很大。另外Hassbian只是强调增加树莓派4的兼容,没提不支持树莓派一代,决定试一试,经历前面这么多坑,想着反正不行就不行吧。

关键是系统居然正常启动了,Debian到了Buster的版本,首先碰到apt不能正常更新的坑,这里apt的正常更新是非常必要的,因为homeassistant部分组件需要依赖系统的package。

E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

出现这种版本报错的情况,参考了一下这个网页(https://www.yoyojacky.com/?m=202112)

sudo apt-get -y update --allow-releaseinfo-change

果然问题解决了。。。然后打开HA安装服务

sudo systemctl start install_homeassistant.service 

可以通过

systemctl status home-assistant@homeassistant.service

来看系统状态

碰到了jinba2报错的问题,搜了一下可能是Python版本太低,网上的建议是升Python版本,但是树莓派里要升Python哪是这是这么容易的事情,只能强制把jinba2降级到3.0.3的版本。hassbian有个好处,不需要通过Docker层来修改参数,直接在系统了切到homeassistant用户就可以了
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 uninstall jinba2
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple jinba2==3.0.3 

等到系统状态了出现了hass进程,[ip地址]:8123可以访问了,一切按照设置就大功告成了。其他的按照别人的帖子安装homekit插件,xiaomi的插件就可以使用了。

安装HomeKit插件需要安装FFMPEG,另外homekit需要从源码编译numpy,我的树莓派1b大概编译了两个小时,要有耐心,跑起来并不慢。

后面就是常规的设置教程了,自带的xiaomiio插件可以根据token和ip地址控制局域网内的小米智能设置,可以根据教程,下载一个xiaomi-miot 0.3.x的插件(高版本的插件和系统自带的Python版本不兼容),支持通过小米账号,就可以控制小米家居了。

https://github.com/al-one/hass-xiaomi-miot/tree/v0.3.x

至此小米的设备接入了HomeKit

这里除了台灯和HomePod是原生HomeKit外,其他都是通过的HA接入了。特别是开车快到家的时候,通过CarPlay喊一声打开空调,空调就开了,到家也不热,可别提多方便了。

这个版本的HA在树莓派1b的512m内存上跑的非常流畅的,全部加起来也就256mb约为一半的内存占用,网页端也很流畅,终于的树莓派可以不用再放着吃灰了。

1 评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注