Skip to content

Smart Life 99

Home Assistantを使えるようにするまで その4

Home Assistant

以下のステップで Home Assistant を使えるようにしていきます。

  1. 必要なものと環境
  2. Raspberry Pi OS のセットアップ
  3. Home Assistant のインストール(本記事)
  4. Add-on の使い方

Home Assistant のインストール方法

2020/10/17 現在、公式でサポートされている Home Assistant のインストール方法は 4 つあります。

Installation Methods & Community Guides Wiki

  1. Home Assistant
  2. Home Assistant Container
  3. Home Assistant Supervised
  4. Home Assistant Core

3.の方法で進めていきますが、これは Raspberry Pi OS を使いつつ、Home Assistant 全部入りをつかえるインストール方法です。

1.〜4.の違いの説明は少し込み入っています。
読み飛ばしてしまって全く問題ありません。

ha_architecture

上図は 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.ではアドオンがインストールできないことが分かると思います。

Home Assistant Supervised のインストール

必要なパッケージのインストール

インストールします。

1sudo apt-get -y install network-manager apparmor apparmor-utils apparmor-profiles jq

Docker のインストール

root ユーザになってから Docker をインストールします。

1sudo su
2curl -sSL https://get.docker.com | sh

Home Assistant Supervised のインストール

こちらでインストールします。 詳細はこちらを参照してください。

1sudo su
2curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
3bash installer.sh --machine raspberrypi4

以上で完了です。
勝手に起動します。

初回起動には 15 分くらいかかりますので、その間にどのようにインストールされたか見ていきます。

起動後の状態

まずは docker の状態を確認してみます(事後確認ですみません)。

1$ docker ps -a
2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
349289f1d4cc1 homeassistant/armv7-hassio-cli:2020.10.0 "/init /bin/bash -c …" 2 days ago Up 2 days hassio_cli
41de9d6088db4 homeassistant/armv7-hassio-observer:2020.10.1 "/init" 3 days ago Up 3 days 0.0.0.0:4357->80/tcp hassio_observer
5cbc32a5aa9b1 homeassistant/raspberrypi4-homeassistant:0.116.4 "/init" 4 days ago Up 3 days homeassistant
6c538f21d5ac4 homeassistant/armv7-hassio-multicast:3 "/init" 4 days ago Up 4 days hassio_multicast
755359aa231b6 homeassistant/armv7-hassio-audio:17 "/init" 4 days ago Up 4 days hassio_audio
868bb021636cb homeassistant/armv7-hassio-dns:9 "/init coredns -conf…" 4 days ago Up 4 days hassio_dns
95cf5021f1453 homeassistant/armv7-hassio-supervisor "/init" 4 days ago Up 4 days hassio_supervisor

すごいことになってますね。
上の図の通り、homeassistant本体だけでなく、supervisoraudiodns等が起動していることが分かります。

さらに、インストールのシェルスクリプトを見ると、2 つサービスを登録していることが分かります。
サービスの内容はLoadedの設定ファイルから確認できます。気になる方は見てみてください。

hassio-supervisor.service
1$ systemctl status hassio-supervisor.service
2● hassio-supervisor.service - Hass.io supervisor
3 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 ago
5 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.service
9 ├─1201 bash /usr/sbin/hassio-supervisor
10 ├─1228 bash /usr/sbin/hassio-supervisor
11 └─1229 docker start --attach hassio_supervisor
12
1310月 21 05:43:55 raspberrypi hassio-supervisor[1201]: 20-10-20 20:43:55 INFO (MainThread) [supervisor.host.network] Update local network information
1410月 21 05:43:56 raspberrypi hassio-supervisor[1201]: 20-10-20 20:43:56 INFO (MainThread) [supervisor.host.sound] Update PulseAudio information
1510月 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
hassio-apparmor.service
1$ systemctl status hassio-apparmor.service
2● hassio-apparmor.service - Hass.io AppArmor
3 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 ago
5 Process: 2081 ExecStart=/usr/sbin/hassio-apparmor (code=exited, status=0/SUCCESS)
6 Main PID: 2081 (code=exited, status=0/SUCCESS)
7
810月 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-supervisor
1210月 17 00:22:23 raspberrypi systemd[1]: Started Hass.io AppArmor.

Home Assistant にアクセス!

それでは同じ LAN 上のスマホやパソコンのブラウザでポート 8123 でアクセスしてみます。
私の場合はhttp://192.168.0.240:8123です。

ユーザ名、パスワードの設定画面が表示されたら成功です!おめでとうございます。

その後、HomeAssistant で管理する家の名前、家の位置等の初期セットアップを行います。

最後に

Home Assistant のインストールを行いました。

次回は Home Assistant のできることの幅を劇的に広げるAdd-on の使い方です。