树莓派安装 HomeAssistant

前言

昨天,已经运行半年 HomeAssistant

服务的那个树莓派,我决定对 HomeAssistant 进行升级,但是升级之后导致出现一系列问题,最终导致 HomeAssistant 服务无法启动,所以决定重装,鉴于之前安装时没有任何记录,所以决定记录下来最详细的安装步骤,给自己留下一个记录,也希望,这篇文章能够帮助到更多的人。

截止到写这篇文章的时候,HomeAssistant 更新的最新版本是 0.65.5 所以这篇文章就基于此版本进行介绍。

1. 树莓派安装系统

请参考 https://www.jianshu.com/p/0884f105fd50

2.安装 HomeAssistant

以下内容与官方指导的参考页面完全一致: https://home-assistant.io/docs/installation/raspberry-pi/

以下内容都是在树莓派终端或者 通过 SSH 远程控制树莓派操作,如果想要直接复制代码到命令行,青葱 $ 符号之后开始复制,不要复制 $ 符号及其之前的任何内容。

个人建议在网速良好的环境下安装或者将软件源更换到国内,否则很有可能安装完之后无法打开页面,或者页面返回 404 错误

2.1 使用以下指令修改树莓派 pi 用户的默认密码,注意,一定要修改,否则安装会出错。

    $ passwd

2.2 更新系统

    $ sudo apt-get update
    $ sudo apt-get upgrade -y

2.3 安装依赖

如果你是下载的最新的系统,此步骤应该会很快

$ sudo apt-get install python3 python3-venv python3-pip

2.4 使用如下指令添加为系统添加一个 名为 homeassistant 的账户

    $ sudo useradd -rm homeassistant

2.5 创建安装目录,并将此目录的所有者改为 homeassistant

    $ cd /srv
    $ sudo mkdir homeassistant
    $ sudo chown homeassistant:homeassistant homeassistant

2.6 创建并进入到 homeassistant 虚拟环境

    $ sudo su -s /bin/bash homeassistant
    $ cd /srv/homeassistant
    $ python3 -m venv .
    $ source bin/activate

2.7 安装依赖的 python 包

    (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel

2.8 安装 Home Assistant

    (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant

2.9 启动 homeassistant

使用下面一条指令启动 Home Assistant ,在此过程中将会创建配置文件,并且安装所需要的一些软件。此过程实测在 3B 上大约耗时20-30 分钟。你可以打开浏览器,输入 ipaddress:8123(将 ipaddress 换成树莓派的 IP 地址),直到网页成功加载即可。

    (homeassistant) $ hass
树莓派安装 HomeAssistant_第1张图片
image

如果你可到网页加载成功加载了 homeassistant 的主页,那么切回命令行,先用 Ctrl + C 退出 homeassistant ,再输入如下指令退出 python 虚拟环境,因为我们还要安装其他软件。

(homeassistant) $ exit

3. 安装 Homebridge 与 Mosquitto

此过程也可以参考 https://sspai.com/post/38849 ,在我第二次安装 homeassistant 的过程中,博主的文章给我提供了很多帮助,在此表示感谢。此部分以及下一部分中部分代码部分参考了博主的文章,在此一并声明。

3.1 安装 Mosquitto

pi@raspberrypi:~ $ sudo apt-get install mosquitto

3.1 运行 Mosquitto

pi@raspberrypi:~ $ mosquitto

之后按下 Ctrl + C 退出 Mosquitto 。

3.3 安装 Homebridge

pi@raspberrypi:~ $ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 
pi@raspberrypi:~ $ sudo apt-get install -y nodejs
pi@raspberrypi:~ $ sudo apt-get install libavahi-compat-libdnssd-dev
pi@raspberrypi:~ $ sudo apt-get install npm
pi@raspberrypi:~ $ sudo npm install -g --unsafe-perm homebridge
pi@raspberrypi:~ $ sudo npm install -g homebridge-homeassistant

3.4 运行 Homebridge

pi@raspberrypi:~ $ homebridge

之后按下 Ctrl + C 退出 homebridge。

3.5 设置 Homebridge

pi@raspberrypi:~ $ sudo nano  /home/pi/.homebridge/config.json

然后将下列内容粘贴到文件中,Ctrl + O 保存,回车确定,Ctrl + X退出。

{
"bridge": {
    "name": "Homebridge",
    "username": "B8:27:EB:DB:D8:84",
    "port": 51826,
    "pin": "123-45-678"
},

"platforms": [{
        "platform": "HomeAssistant",
        "name": "HomeAssistant",
        "host": "http://127.0.0.1:8123",
        "password": "oplm1234",
        "supported_types": ["automation", "binary_sensor", "climate", "cover", "device_tracker", "fan", "group", "input_boolean", "light", "lock", "media_player", "remote", "scene", "script", "sensor", "switch", "vacuum"],
        "default_visibility": "hidden",
        "logging": true,
        "verify_ssl": true
        }
    ]
}

记得将 "username": "B8:27:EB:34:D8:84", 这一行的内容指的是树莓派的 MAC 地址,记得改为你自己的树莓派的 MAC 地址。所有字母一律大写,小写无效!!!
之后按下 Ctrl + C 退出 homebridge。

3.6 设置 mosquitto 用户名与密码

pi@raspberrypi:~ $ mosquitto_passwd -c /etc/mosquitto/passwd pi

这里的 pi 是创建的 mosquitto 的用户名,运行完之后将会提示输入密码,改密码将会密文存储,所以请牢记。你也可以将 pi 换成其他你喜欢的用户名

4.设置开机自启

4.1 设置 homeassistant 开机自启

对于 raspbian 来说你可以通过以下方式,其他操作系统请参考官方文档 https://home-assistant.io/docs/autostart/ 。

4.1.1 创建文件

执行如下指令创建文件:

pi@raspberrypi:~ $ sudo nano -w /etc/systemd/system/[email protected]

然后将如下内容复制到文件中,然后按 Ctrl + O 再按 Enter 保存,再按 Ctrl + X 退出。如果你的安装目录改变了,请将 ExecStart= 之后的 /srv/homeassistant/bin/hass 更改为你的 homeassistant 的安装目录,如果你是按照本教程操作,则无需更改。

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"

[Install]
WantedBy=multi-user.target
4.1.1 配置 systemd

先执行如下指令重新加载 systemd

pi@raspberrypi:~ $ sudo systemctl --system daemon-reload

再执行如下指令以重新以允许 homeassistant 开机自启。

pi@raspberrypi:~ $ sudo systemctl enable home-assistant@homeassistant

4.1 设置 homebridge 与 mosquitto 开机自启

注意:配置 HB 前程序会运行错误,提示缺少配置文件,可先不理会。

    cd /etc/default
    sudo nano homebridge

粘贴一下内容到文件中

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS= /home/pi/.homebridge

所有带有 # 字的行皆为注释,可整行删除不影响。上述指令的作用是指定 Homebridge 的配置文件及缓存所在文件夹。

如果你想要 Homebridge 显示更详细的日志,可以继续添加如下字段:

DEBUG=*

之后 Ctrl+X,Y,回车。继续输入:

cd /etc/systemd/system
sudo nano homebridge.service

复制粘贴

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target
[Service]
Type=simple
User=pi
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target

Ctrl+X,Y,回车

cd /
sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo systemctl start homebridge
sudo systemctl status homebridge
sudo systemctl enable mosquitto

然后执行sudo reboot 重启即可。

你可能感兴趣的:(树莓派安装 HomeAssistant)