HA文档 目录

  1. 首页
  2. HA文档
  3. HA文档
  4. 配置进阶
  5. 自动启动

自动启动

这篇文章是系列文章的第5/7篇:

在不同的操作系统(发行版本)下,要在操作系统启动的时候,将hass自动运行起来的配置方法是不同的。

MacOS

以下命令在MacOS下管理hass的自启动:
hass --script macos install:将hass注册为后台运行的一个服务。
hass --script macos uninstall:将hass从后台服务中移除。
作为系统服务,HomeAssistant的日志将会被记录在~/Library/Logs/homeassistant.log

Windows

在Windows下将程序设置为自启动的方法有很多,而且在不同Windows的版本下有些差异。在这里就不一一介绍了。有兴趣的用户可以百度或者Google查找相应的方法进行尝试。

Systemd

Systemd是目前新版的linux比较常用的管理后台服务的机制。在Linux的发行版Fedora、ArchLinux,Debian(8或以上),Ubuntu(15.04以上),CentOS,Redhat都使用systemd机制。
注:运行命令ps -p 1 -o comm=看是否返回“systemd”,可以检测系统是否运行了systemd后台服务管理机制。

以root身份创建文件/etc/systemd/system/home-assistant@[user].service,其中“[user]”替换为你希望运行hass的用户名。文件内容为:

注1:修改文件中ExecStart指向的文件路径修改为系统中实际的路径(不同系统安装hass的目录可能不同,可以使用命令whereis hass获得)。
注2:如果是在Python的虚拟环境(virtualenv)中安装的HomeAssistant,需要修改文件中ExecStart指向的命令加上参数-c,指定hass的配置文件目录。例如:
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
注3:如果是在docker下运行HomeAssistant,文件会相对复杂一些,可以参见docker的相应说明。

以下systemd相关的控制命令供参考:

  • sudo systemctl --system daemon-reload:重新加载systemd的配置文件。
  • sudo systemctl enable home-assistant@[user]:设置home-assitant服务为自启动。
  • sudo systemctl disable home-assistant@[user]:从自启动中去除home-assitant服务。
  • sudo systemctl start home-assistant@[user]:手工启动home-assitant服务(命令中start可以替换成stoprestartstatus,完成停止、重启、查看服务状态等功能)。
  • sudo journalctl -f -u home-assistant@[user]:查看hass的日志输出。
  • sudo journalctl -f -u home-assistant@[your user] | grep -i 'error':查看hass的日志输出中的error部分。

Upstart

Upstart后台服务管理机制在linux的发行版Debian(7或以前)、Ubuntu(15.04或以前)中使用。
注:运行命令ps -p 1 -o comm=看是否返回init,可以检测系统是否运行了Upstart后台服务管理机制。

按照以下步骤操作:

  1. 修改文件中PRE_EXEC(您希望在运行hass之前要运行的命令,命令以分号结束)、RUN_AS(执行命令的用户名)、CONFIG_DIR(hass的配置文件目录)等参数。
  2. 将本文件命名为hass-daemon并放置在目录/etc/init.d/下,同时增加文件的可执行权限:
    sudo cp hass-daemon /etc/init.d/hass-daemon
    sudo chmod +x /etc/init.d/hass-daemon
  3. 在Linux下注册此后台服务程序:
    sudo update-rc.d hass-daemon defaults
  4. 安装此服务:
    sudo service hass-daemon install
  5. 重启机器
  6. 以下命令供参考:
    sudo service hass-daemon start:手工启动hass服务
    sudo service hass-daemon stop:手工停止hass服务

init.d

按照以下步骤操作:

  1. 修改文件中PRE_EXEC(您希望在运行hass之前要运行的命令,命令以分号结束)、HASS_BIN、RUN_AS(执行命令的用户名)、CONFIG_DIR(hass的配置文件目录)、FLAGS等参数。
  2. 将本文件命名为hass-daemon并放置在目录/etc/init.d/下,同时增加文件的可执行权限:
    sudo cp hass-daemon /etc/init.d/hass-daemon
    sudo chmod +x /etc/init.d/hass-daemon
  3. 在Linux下注册此后台服务程序:
    sudo update-rc.d hass-daemon defaults
  4. 安装此服务:
    sudo service hass-daemon install
  5. 重启机器
  6. 以下命令供参考:
    sudo service hass-daemon start:手工启动hass服务
    sudo service hass-daemon stop:手工停止hass服务

Synology NAS

  1. /volume1/homeassistant/目录下创建以下文件(文件名为homeassistant.conf):
  2. 注册自启动服务:
    ln -s homeassistant.conf /etc/init/homeassistant.conf
  3. 增加文件可执行权限
    chmod -r 777 /etc/init/homeassistant.conf
  4. 重启系统

遇到问题了?快来学习免费在线课程吧,博学老司机在线答疑,找到更多志同道合的HA玩家一起进步

此文不允许转载,如需转载请与BD@hachina.io联系。

以上内容是否对您有帮助? 0 有帮助 0 没帮助