以下のステップで Home Assistant を使えるようにしていきます。
2020/10/17 現在、公式でサポートされている Home Assistant のインストール方法は 4 つあります。
Installation Methods & Community Guides Wiki
3.の方法で進めていきますが、これは Raspberry Pi OS を使いつつ、Home Assistant 全部入りをつかえるインストール方法です。
1.〜4.の違いの説明は少し込み入っています。
読み飛ばしてしまって全く問題ありません。
上図は 1.の Home Assistant または 3.の Home Assistant Supervised の例です。
OS(Operating System)の部分にHome Assistant OS
が使われるか、今回のようにRaspberry Pi OS
が使われるかの違いです。
Home Assistant Core の実体は Python パッケージです。これを生の Python で使うパターンを 4.の Home Assistant Core と呼んでいます。 一方、上図のように Docker 等に乗せてあるものを利用する方法を 2.の Home Assistant Container と呼んでいます。
アドオンは Home Assistant Core の外にあるため、2.と 4.ではアドオンがインストールできないことが分かると思います。
インストールします。
1sudo apt-get -y install network-manager apparmor apparmor-utils apparmor-profiles jq
root ユーザになってから Docker をインストールします。
1sudo su2curl -sSL https://get.docker.com | sh
こちらでインストールします。 詳細はこちらを参照してください。
1sudo su2curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh3bash installer.sh --machine raspberrypi4
以上で完了です。
勝手に起動します。
初回起動には 15 分くらいかかりますので、その間にどのようにインストールされたか見ていきます。
まずは docker の状態を確認してみます(事後確認ですみません)。
1$ docker ps -a2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES349289f1d4cc1 homeassistant/armv7-hassio-cli:2020.10.0 "/init /bin/bash -c …" 2 days ago Up 2 days hassio_cli41de9d6088db4 homeassistant/armv7-hassio-observer:2020.10.1 "/init" 3 days ago Up 3 days 0.0.0.0:4357->80/tcp hassio_observer5cbc32a5aa9b1 homeassistant/raspberrypi4-homeassistant:0.116.4 "/init" 4 days ago Up 3 days homeassistant6c538f21d5ac4 homeassistant/armv7-hassio-multicast:3 "/init" 4 days ago Up 4 days hassio_multicast755359aa231b6 homeassistant/armv7-hassio-audio:17 "/init" 4 days ago Up 4 days hassio_audio868bb021636cb homeassistant/armv7-hassio-dns:9 "/init coredns -conf…" 4 days ago Up 4 days hassio_dns95cf5021f1453 homeassistant/armv7-hassio-supervisor "/init" 4 days ago Up 4 days hassio_supervisor
すごいことになってますね。
上の図の通り、homeassistant
本体だけでなく、supervisor
やaudio
、dns
等が起動していることが分かります。
さらに、インストールのシェルスクリプトを見ると、2 つサービスを登録していることが分かります。
サービスの内容はLoaded
の設定ファイルから確認できます。気になる方は見てみてください。
1$ systemctl status hassio-supervisor.service2● hassio-supervisor.service - Hass.io supervisor3 Loaded: loaded (/etc/systemd/system/hassio-supervisor.service; enabled; vendor preset: enabled)4 Active: active (running) since Sat 2020-10-17 00:22:10 JST; 4 days ago5 Process: 1063 ExecStartPre=/usr/bin/docker stop hassio_supervisor (code=exited, status=0/SUCCESS)6 Main PID: 1201 (bash)7 Tasks: 13 (limit: 3862)8 CGroup: /system.slice/hassio-supervisor.service9 ├─1201 bash /usr/sbin/hassio-supervisor10 ├─1228 bash /usr/sbin/hassio-supervisor11 └─1229 docker start --attach hassio_supervisor121310月 21 05:43:55 raspberrypi hassio-supervisor[1201]: 20-10-20 20:43:55 INFO (MainThread) [supervisor.host.network] Update local network information1410月 21 05:43:56 raspberrypi hassio-supervisor[1201]: 20-10-20 20:43:56 INFO (MainThread) [supervisor.host.sound] Update PulseAudio information1510月 21 06:23:15 raspberrypi hassio-supervisor[1201]: 20-10-20 21:23:15 INFO (MainThread) [supervisor.updater] Fetch update data from https://version.home-assistant.io/stable.json
1$ systemctl status hassio-apparmor.service2● hassio-apparmor.service - Hass.io AppArmor3 Loaded: loaded (/etc/systemd/system/hassio-apparmor.service; enabled; vendor preset: enabled)4 Active: active (exited) since Sat 2020-10-17 00:22:23 JST; 4 days ago5 Process: 2081 ExecStart=/usr/sbin/hassio-apparmor (code=exited, status=0/SUCCESS)6 Main PID: 2081 (code=exited, status=0/SUCCESS)7810月 17 00:22:22 raspberrypi systemd[1]: Starting Hass.io AppArmor...910月 17 00:22:23 raspberrypi hassio-apparmor[2081]: Warning: unable to find a suitable fs in /proc/mounts, is it mounted?1010月 17 00:22:23 raspberrypi hassio-apparmor[2081]: Use --subdomainfs to override.1110月 17 00:22:23 raspberrypi hassio-apparmor[2081]: [Error]: Can't load profile /usr/share/hassio/apparmor/hassio-supervisor1210月 17 00:22:23 raspberrypi systemd[1]: Started Hass.io AppArmor.
それでは同じ LAN 上のスマホやパソコンのブラウザでポート 8123 でアクセスしてみます。
私の場合はhttp://192.168.0.240:8123です。
ユーザ名、パスワードの設定画面が表示されたら成功です!おめでとうございます。
その後、HomeAssistant で管理する家の名前、家の位置等の初期セットアップを行います。
Home Assistant のインストールを行いました。
次回は Home Assistant のできることの幅を劇的に広げるAdd-on の使い方です。