本帖最后由 Adsort 于 2022-3-21 17:29 编辑
想着装个hass,看了下树莓派的价格,还是利用一下旧手机吧。
先后折腾了Termux, linux deploy ,aidlux,各种踩坑。
先说deploy吧,要root。可怜华为18年关掉了解锁bl通道,为了root,还花了10块钱解bl。装完deploy,发现各种坑爹,这ui设计,这流程控制,太折腾了,1天时间弃坑
又试了Termux,从酷安下载的,卡第一屏,vpn也上了,也不行。放弃。
再然后是aidlux,这个不错,前期都没啥,推荐新手先试试。最后弃坑是因为折腾的过程中hass升级了,然后一堆报错,然后hass就不能用了。同时觉得他的桌面环境其实是多余的,命令行的就够了。关键是找资料的时候看到其实aidlux也是魔改了Termux,那我还不如直接用Termux。
理论上,适用Termux的,aidlux也行,我是用了termux觉得没啥为题,后面也就不折腾了。
以下是正文
手机:华为P9
系统:emui 8.0.0.558(现在可以升级的最新版)
root:有,但不重要,只做hass服务器的话不需要root
hass版本:2021.12.10,这个很重要,以后的版本不一定适用。
Termux版本:118
步骤:
1、安装 Termux
从f-droid商店安装,酷安的有问题,不要下。
地址:https://f-droid.org/repo/com.termux_118.apk
2、换清华源
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade -y
复制代码
2.5、安装openssh(非必要)
pkg install openssh
passwd
sshd
复制代码
也不难,教程一搜就有
3、安装环境
pkg install clang openssl libffi wget vim zsh tsu wget git zip neofetch clang make cmake curl libxml2 libxslt rust libsodium libjpeg-turbo termux-tools -y
复制代码
4、安装python
按照pip上hass的介绍,使用3.8,3.9的py都可以,折腾累了,直接装3.9吧。python版本号不要高,3.9就行,否则装cryptography的时候会error: cannot set a minimum Python version 3.6 higher than the interpreter version 3.1 (the minimum Python version is implied by the abi3-py36 feature)
py的版本识别是个巨坑。除非你能自行装上cryptography35.0.0
wget https://cdn.jsdelivr.net/gh/Termux-pod/termux-pod@main/aarch64/python/python-3.9.7/python_3.9.7_aarch64.deb
dpkg -i ./python_3.9.7_aarch64.deb
echo "python hold" | dpkg --set-selections
复制代码
折腾的过程中,不小心 pkg install python了,升级到了3.10,降级后发现pip用不了了,
apt --fix-broken install
pip install --upgrade pip setuptools
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
修复一下
5、安装hass
安装hass会有几个坑,运行hass也会有坑,所以要先安装依赖库
a. 安装PyNaCl,有版本限定,类似的问题1.4.0改成其他的就行。libsodium前期就要先装好。
SODIUM_INSTALL=system pip install PyNaCl==1.4.0
复制代码
b.安装numpy,scipy(scipy忘了是不是必须的)
wget https://its-pointless.github.io/setup-pointless-repo.sh
bash setup-pointless-repo.sh
pkg install numpy scipy
复制代码
c.安装Pillow8.2.0。这个坑最大,很多人再问,其实就是因为这个版本太老了,没指定64位的lib位置,装Pillow最新版的hass还不认。
LDFLAGS="-L/system/lib64/" CFLAGS="-I/data/data/com.termux/files/usr/include/" pip install Pillow==8.2.0 to install
复制代码
2月20补充: Pillow8.2.0在最新版hass里面更新了,不需要了,直接装9.0.1就行了,不用这么复杂了。
d.安装cryptography35.0.0。这个坑和Pillow8.2.0一样,也是劝退一堆人。cryptography有依赖库的,按照步骤来,有问题的看上边3安装环境
export CARGO_BUILD_TARGET=aarch64-linux-android
pip install cryptography==35.0.0
复制代码
2月20补充:
cryptography35.0.0是个磨人的小妖精。每次装都不太顺利,明明都是一样的操作,就是报错,ssl啥的都装了,还是不行,还是报Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
补充一个终极办法,直接拷贝
cryptography-35.0.0.dist-info.zip
(1.83 MB, 下载次数: 206)
把附件解压,直接复制到 /data/data/com.termux/files/usr/lib/python3.9/site-packages 里面 ,pip list 看看是不是有了。注意,Python的版本要是3.9的。3.10的可能装不上,估计直接复制粘贴也能用,请自行测试。
e.安装hass,暂时hass版本停留在21.12.10,后面的版本不能通过网页重启,也没加什么特别的功能
pip install aiohttp_cors tzdata FFmpeg Crypto homeassistant==2021.12.10
复制代码
6、运行 hass。不出意料的话应该是可以了,第一次会比较慢,理论上这时候登录127.0.0.1:8123就行了,我这边报了一个错ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
不影响使用,就这样吧