Home Assistant系列 -- 基于树莓派安装并设置自启动

时间:2022-03-02 13:53:04

Home Assistant 是当前智能家居最火热的开源DIY 软件,之前的文章  智能家居系统 Home Assistant 系列 --介绍篇  已经详细介绍过了,这里就不详细介绍了,今天介绍 如何在树莓派中安装,并设置树莓派开机启动软件。

我们使用 pip3 命令 来进行安装。在树莓派终端输入命令:sudo pip3 install homeassistant 即可安装,此命令会找到 Home Assistant 所依赖的Python 库,自动进行下载安装,所以下载安装需要一定的时间,请耐心等待。如果安装过程中出现红色错误 请在原安装命令后面加上 upgrade 重新安装。sudo pip3 install homeassistant  --upgrade   出现Successfully 即安装完成。

Home Assistant系列 -- 基于树莓派安装并设置自启动

安装完成 输入 hass 命令 启动Home Assistant ,第一次启动的时候会比较长,Home Assistant在此过程中 为我们创建缺省的配置目录与配置文件 同时也会下载基础组件所依赖的python库,因为安装的库比较多 所以第一次启动的时候 有时候hass 会僵死,这时候我们需要使用ctrl +c 退出 重新输入 hass 启动。注意 hass 是一个始终运行的程序 所以它不会退出,当终端输出  Timer:starting 的时候 表示hass 已经启动完成。

Home Assistant系列 -- 基于树莓派安装并设置自启动

重新打开putty,连接树莓派,使用命令检查Home Assistant的 8123 端口是否开放。netstat -an|grep  8123

Home Assistant系列 -- 基于树莓派安装并设置自启动

这时候我们就可以在浏览器中 使用树莓派的ip+8123 端口访问Home Assistant。第一次访问需要创建一个用户。

Home Assistant系列 -- 基于树莓派安装并设置自启动

然后输入刚刚创建的用户名和密码登录Home Assistant

Home Assistant系列 -- 基于树莓派安装并设置自启动

我们使用Jupyter Notebook 来编辑Home Assistant 的配置文件。启动Jupyter Notebook ,浏览器访问Jupyter Notebook  这时候Home Assistant 的目录是隐藏的,这时在新开的终端 输入 ln -s  .homeassistant/  homeassistant   然后刷新jupyter Notebook 就可以看到  Home Assistant 的目录了。

Home Assistant系列 -- 基于树莓派安装并设置自启动

点击homeassistant目录进入选择 configuration.yaml 文件点开,然后我们加上比特币 行情的配置。在文件中找到 sensor 节点 然后加入一下配置:

- platform: bitcoin

display_options:

- exchangerate

- trade_volume_btc

注意配置缩进,一定要注意。

Home Assistant系列 -- 基于树莓派安装并设置自启动

配置好记得保存,然后ctrl+c 退出,重新启动hass   浏览器访问就可以看到比特币的行情了

Home Assistant系列 -- 基于树莓派安装并设置自启动

到此已经介绍完 Home Assistant 在树莓派上的安装 和示例配置了。但是关掉终端,就会发现Home Assistant 无法访问了。下面我就介绍一下如何把Home Assistant 安装成服务 进行自启动。

首先终端连接树莓派,使用vi编辑器编辑服务的配置文件,终端输入:sudo vi  /etc/systemd/system/home-assistant@pi.service   回车 ,然后拷贝如下指令:

[Unit]

Description=Home Assistant

After=network.target

[Service]

Type=simple

User=%i

ExecStart=/usr/local/bin/hass

[Install]

WantedBy=multi-user.target

保存退出。

然后输入指令  sudo systemctl enable  home-assistant@pi   将配置文件加入系统中

同样也可以用相同的方式把Jupyter Notebook 也安装成服务 自启动:sudo vi  /etc/systemd/system/jupyter-notebook@pi.service  回车 ,然后拷贝如下指令:

[Unit]

Description=Jupyter Notebook

[Service]

Type=simple

ExecStart=/usr/local/bin/jupyter-notebook

User=%i

[Install]

WantedBy=multi-user.target

保存退出。

同样输入指令  sudo systemctl enable  jupyter-notebook@pi

手动启动 刚刚安装的两个服务。

sudo systemctl starthome-assistant@pi

sudo systemctl jupyter-notebook@pi

这样下次就不用在终端输入命令来启动服务了,直接开启树莓派就可以使用。

 

服务相关命令(以home-assistant@pi服务为例)

重载服务配置:          sudo systemctl --system daemon-reload

将服务加入自启动:   sudo systemctl enable home-assistant@pi

将服务移除自启动:   sudo systemctl disable home-assistant@pi

手工启动服务:          sudosystemctl start home-assistant@pi

手工停止服务:          sudosystemctl stop home-assistant@pi

手工重启服务:          sudosystemctl restart home-assistant@pi

查看服务输出:          sudojournalctl -f -u home-assistant@pi

关注一下,更多精彩,不容错过!