Home Assistant systemdによる自動起動

システム起動時にデーモンとして動作させるための設定

Home Assistant導入時から既にデーモンとして自動起動させていますが、コマンド入力による起動、再起動、停止の方法をここにメモします。

Python仮想環境下で自動起動する場合

/etc/systemd/systemディレクトリ内にhome-assistant@your_user.serviceファイルを作成します。
内容は以下の通りです。

$ sudo pico /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/%i/.homeassistant"

[Install]
WantedBy=multi-user.target

ExecStartの箇所でHome Assistantをインストールしたパスは各々の環境により異なります。

サービスデーモンのリロード

$ sudo systemctl --system daemon-reload

サービスを有効にする場合

$ sudo systemctl enable home-assistant@your_user

サービスを無効にする場合

$ sudo systemctl disable home-assistant@your_user

サービスの起動

$ sudo systemctl start home-assistant@your_user

サービスの再起動

$ sudo systemctl restart home-assistant@your_user

サービスの停止

$ sudo systemctl stop home-assistant@your_user

ステータス確認

$ sudo systemctl status home-assistant@your_user

起動、再起動、停止、ステータス確認にはserviceコマンドでも構いません。