在Raspbian Stretch系统上设置Home Assistant开机启动

Posted on 2018-05-05 17:36  WangQiwei  阅读(2608)  评论(0编辑  收藏  举报

较新的Linux发行版趋向于用systemd管理守护进程,如果您不确定系统是否正在使用systemd,您可以使用以下命令进行检查:

ps -p 1 -o comm=

如果上述命令返回字符串systemd,说明系统正在使用systemd

我是在python的虚拟环境中运行的Home Assistant,所以编辑下面的内容就可生效。

sudo nano -w /etc/systemd/system/home-assistant@[your user].service

 

[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

如果Home Assistant不是安装在/srv/homeassistant,请适当修改 ExecStart= 这一行。

下面需要重新加载systemd让守护程序知道新配置。

sudo systemctl --system daemon-reload

要让Home Assistant在启动时自动启动,请启用该服务。

sudo systemctl enable home-assistant@[your user]

 要禁用自动启动,请使用此命令。

sudo systemctl disable home-assistant@[your user]

要立即启动Home Assistant,请使用此命令。

sudo systemctl start home-assistant@[your user]

您也可以用start上面的替代stop方法停止Home Assistant,或者restart重新启动Home Assistant.

要获得Home Assistant的日志输出,请使用简单journalctl.

sudo journalctl -f -u home-assistant@[your user]

由于日志可以很快滚动,因此您可以选择仅查看错误行:

sudo journalctl -f -u home-assistant@[your user] | grep -i 'error'

在Home Assistant工作时,您可以轻松地重新启动系统,然后通过&&组合上述命令来观察日志输出 

sudo systemctl restart home-assistant@[your user] && sudo journalctl -f -u home-assistant@[your user]

如果你在Docker容器中运行Home  Assistant 或安装环境不同,请访问官网自启动指南解决问题。