跳至正文

树莓派 安装 homeassistant

  • 折腾

# 起因

树莓派3真心容易烧卡啊,回到家呼叫小爱同学、狂按米家小圆饼,电脑不开机了。意识到可能 homeassistant 挂掉了,重启树莓派无效。拔出tf卡放电脑上竟然读不出来了,看来tf卡的的确确挂掉了。

# 重装树莓派系统

设置wifi、更改时区、更新 apt 源、安装vim 等常规操作不再赘述,查笔记查baidu解决~

homeassistant 有树莓派 img 镜像,只要烧写进去即可,但有捷径我不走,我就是要编译,就是玩。

# 安装 python3.9.4

由于 hass 需要 py3.8 以上版本,树莓派自带的是 3.7.3 已经比较旧了,所以我们这里采用编译安装最新版本。

先安装依赖

尽量装上,不然以后安装python途中出现各种问题又要边找边装,浪费时间

sudo apt install build-essential libncurses-dev libreadline-dev libsqlite3-dev libssl-dev libexpat1-dev zlib1g-dev libffi-dev
sudo apt install tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev

接下来还要解决 ssl 的问题

树莓派自带的 openssl 版本是1.1.1d,会导致不能成功编译python,我们要把它换成 libreSSL(/usr/local/inclue/openssl/)或者自行编译升级。

下载、配置、编译、安装
wget https://mirrors.huaweicloud.com/python/3.9.4/Python-3.9.4.tgz
./configure --with-openssl=/usr/local/inclue/openssl/ --enable-optimizations
注意这个 --with-openssl 目录,一定要新版的(1.1.1d 不行,有心脏漏洞)

make -j4

sudo make install

检查
python3 
import ssl

# 虚拟环境中安装 homeassistant

安装依赖
sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev libevent-dev libjpeg-dev zlib1g-dev

新建用户
sudo useradd -rm homeassistant 

创建文件夹
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant

创建虚拟环境
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source /srv/homeassistant/bin/activate

下面的操作都要在虚拟环境
升级pip,/srv/homeassistant/bin/python3 -m pip install --upgrade pip
安装 wheel,python3 -m pip install wheel 
安装 pip3 install pillow Rust cargo cryptography
可以升级一下 pip3 install setuptools --upgrade
安装 Home Assistant:pip3 install homeassistant

初次启动

进入虚拟环境,输入 hass

等待十几分钟让后台下载依赖,之后便可以 http://ip:8123 进行访问。

后面还有各种要填的坑

​ · 设置成服务自启

​ · 安装 MQTT

​ · 安装 node-red 等等!

上面的一系列操作很难搞很耗时间,除非懂一些代码不然很多依赖等问题要等着解决,所以,懒得搞的还是装个 hassOS 版方便一点!

# 定期备份的习惯

需要重新安装、设置的东西真是太多了。虽然前阵子用 tar 压缩备份数据,但没去验证备份内容,tar命令是不包含带 · 的隐藏文件备份的,hass、node-red、各种软件的配置信息很多都是隐藏文件,所以要重新配置了。

# 再来谈谈 homeassistant

玩 hass 起码也两年了,见证着它的版本更新,很多配置越来越简单(可视化),让门槛降低了不少;每个大版本的更新,或多或少都要对配置文件进行不少修改、甚至是组件的修改,而组件很多是爱好者自制的,如果组件原作者没有跟随更新,那么就要你自己读懂代码并做出修改以适应最新版本。所以它注定也只能是少些人的玩具,学习成本很高。

hass的存在,可以把家里的智能产品连接起来,打破壁垒,而不是小米的设备、天猫系的设备各自发挥自己的作用。但是各自的生态又越来越封闭,他们不愿意共享(开放),只想着卖自家的生态产品,所以设置了各种各样的坑,比如小爱同学的 TTL 破解接入ha,我至今都没去拆小爱同学,因为我知道小米肯定会远程施法把这些漏洞给补上。

如今,虽然接入的设备不少,但真正被我利用起来,联动实现智能化的东西还是比较少的。主要还是嫌配置的麻烦、不稳定性,以及传感器少等的原因。反而,小米平台上设制的智能化反而比 hass 还稳定。

后期还是继续完善起来吧,折腾吧少年,记得备份。

发表回复

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