## 1、更换pip源
设为默认
升级 pip 到最新的版本 (>=10.0.0) 后进行配置
```bash
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip,替换掉上面第一句:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
临时使用(本文测试是用的这个方法)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
2、安装依赖和虚拟环境,安装之前先更换为华为源,换源教程论坛有
apt update
#安装依赖
apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev python3-idna
3、添加Home Assistant账号及安装目录
Home Assistant不能使用root运行,建个专用用户吧,然后顺便把GPIO的权限都给它,方便以后连接其它传感器。
#创建homeassistant用户
useradd -rm homeassistant -G dialout
#切换目录,创建目录
cd /opt && sudo mkdir homeassistant
#设置文件所有者和文件关联组的命令
chown homeassistant:homeassistant homeassistant
4、创建python虚拟环境
#切换目录
cd /opt/homeassistant
#在当前目录创建虚拟环境
python3 -m venv .
4、进入虚拟环境,然后可以输入python查看默认的python版本
source /opt/homeassistant/bin/activate
5、安装homeassistant,下载比较大,建议在wifi下进行
#安装wheel
python3 -m pip install wheel
#进入到homeassistant目录下
cd /opt/homeassistant
#安装homeassistant
pip3 install homeassistant
安装完毕
6、Home Assistant运行
首次多给些时间让Home Assistant自动配置一下, 根据你网络的情况大概10-30分钟吧。 然后就可以使用你的浏览器打开ip地址的8123端口了,第一次启动需要下载环境,配置国内源
#配置国内源
mkdir /root/.pip
touch /root/.pip/pip.conf
#将下面代码写入pip.conf文件,可以在finder中进行
[global]
index-url =https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
#进入虚拟环境
source /opt/homeassistant/bin/activate
#启动Home Assistant
hass
次多给些时间让Home Assistant自动配置一下, 根据网络的情况大概10-30分钟吧。 然后就可以使用的浏览器打开手机IP地址的8123端口了:
http://127.0.0.1:8123/
这一步十分慢,多等几分钟,如果没有反应可以点击刷新,进入到下个界面
刷新后的下一个界面
7、 Home Assistant更新
#进入虚拟环境
source /opt/homeassistant/bin/activate
#更新homeassistant
pip3 install --upgrade homeassistant
8、 Home Assistant日志log
tail -f -n 55 /root/.homeassistant/home-assistant.log
9、Home Assistant配置文件
nano /root/.homeassistant/configuration.yaml
10、结束虚拟环境
deactivate
11、自启动hass服务
新建start-hass.sh的文件,将其放入root目录下面
#!/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