在AidLux上编译安装homeassistant
新版本homeassistant需要python3.9,可以参考这篇文章
#更换pip源
pip install pip -U
pip config set global.index-url
https://pypi.tuna.tsinghua.edu.cn/simple
#如果pip 默认源的网络连接较差,替换掉上面第一句:
pip install -i
https://pypi.tuna.tsinghua.edu.cn/simple pip -U
#安装依赖和虚拟环境
apt update
apt-get install python3 python3-dev
python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev python3-idna
#添加Home Assistant账号及安装目录,Home Assistant不能使用root运行,新建账户,把GPIO的权限赋予,方便以后连接其它传感器
#创建homeassistant用户
useradd -rm homeassistant -G dialout
#切换目录,创建目录
cd /opt && sudo mkdir homeassistant
#设置文件所有者和文件关联组的命令
chown homeassistant:homeassistant
homeassistant
#创建python虚拟环境
#切换目录
cd /opt/homeassistant
#在当前目录创建虚拟环境
python3 -m venv .
#进入虚拟环境,然后可以输入python -V可以查看默认的python版本,新版ha需要python3.9
source /opt/homeassistant/bin/activate
#安装homeassistant,下载比较大,建议在wifi下进行
#升级pip
/opt/homeassistant/bin/python3 -m pip
install --upgrade pip
#安装wheel
python3 -m pip install wheel
#进入到homeassistant目录下
cd /opt/homeassistant
#安装homeassistant
/usr/bin/python3 -m pip install --upgrade
pip #更新
pip3 install homeassistant
错误:WARNING: The scripts pip, pip3 and pip3.9 are
installed in '/usr/local/python39/bin' which is not on PATH.
Consider adding this directory to PATH or, if
you prefer to suppress this warning, use --no-warn-script-location.
echo 'export PATH=/usr/local/python39/bin:$PATH'
~/.bashrc
source ~/.bashrc
pip3 uninstall
homeassistant
pip3 install
homeassistant
#安装完毕
#Home Assistant运行
#首次多给些时间让Home Assistant自动配置一下,根据你网络的情况大概10-30分钟吧。然后就可以使用你的浏览器打开ip地址的8123端口了,第一次启动需要下载环境,配置国内源
#配置国内源
mkdir /root/.pip
touch /root/.pip/pip.conf
vim /root/.pip/pip.conf
#将下面代码写入pip.conf文件,按i进入编辑模式,输入后先按esc键,再按:wq退出
[global]
index-url
=https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
#启动Home Assistant
hass
#输入IP地址:8123进入ha页面
#示例:http://192.168.0.110:8123/
#新建一个终端,编写自启动hass服务
#新建start-hass.sh的文件,将其放入root目录下面
touch /root/start-hass.sh
vim /root/start-hass.sh
#将下面代码写入start-hass.sh文件
#!/bin/sh
source "/opt/homeassistant/bin/activate"
hassid=pgrep hass
if [ ! -n "$hassid" ]; then
echo "hassid IS NULL"
hass
else
echo "hassid IS NOT NULL"
kill "$hassid"
hass
fi
#开机启动
#在.bashrc文件最后添加执行命令,下面hass.log也可以改为上面的/root/.homeassistant/home-assistant.log
echo sh ./start-hass.sh>&/home/hass.log
& >> /root/.bashrc