Raspberry PiにHome Assistantをインストール

我が家ではHome Assistantを使ってスマートホームを構築しています。Home Assistantはインテグレーションやプラグインが充実しているので、たいていのメーカーのデバイスを統合して管理できるのが便利です。
最近Raspberry Pi 4の環境を更新したのを機に、新たにHome Assistantをインストールし直したので、手順をご紹介します。

インストール方法の選択
Home Assistantのインストール方法は以下の4つがあります。
- Home Assistant Operating System (HAOS)
- Home Assistant専用OS
- 一番簡単にフル機能が使える
- Home Assistant Container
- Dockerを使ってHome Assistant Coreをインストール
- 簡単にインストールできるが、Supervisorが利用できない
- Home Assistant Supervised
- 既存のOSにHome Assistant + Supervisorをインストールすることで、HAOSと同等の機能を利用できる
- 必要なパッケージ等を自分で準備する必要がある
- Home Assistant Core
- Home Assistantのコア機能のみをインストール

Supervisorはアドオン・システム全体の管理・自動更新・バックアップなど、Home Assistantの機能を拡張してくれるものです。これを利用するにはHAOSかHome Assistant Supervisedを選択する必要があります。
筆者はRaspberry PiをHome Assistant専用にせず他の用途でも利用するため、Home Assistant Supervisedを選択しました。
Home Assistant Supervisedのインストール
下記リンク先に記載の方法に沿って、Home Assistant Supervisedをインストールしていきます。
1. 依存パッケージのインストール
$ sudo apt install apparmor cifs-utils curl dbus jq libglib2.0-bin lsb-release network-manager nfs-common systemd-journal-remote systemd-resolved udisks2 wget -y
2. Dockerのインストール
$ curl -fsSL get.docker.com | sh
3. OS Agentのインストール
SupervisorがホストOSと連携するためのエージェントです。まずはOSのアーキテクチャを確認し、そのシステムに合ったパッケージをダウンロードしてインストールする必要があります。
# アーキテクチャを確認
$ uname -m
aarch64
筆者の環境はaarch64
なので、GitHubから os-agent_1.6.0_linux_aarch64.deb
をダウンロードします(バージョンは執筆当時の最新のもの)。
$ wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_aarch64.deb
$ sudo dpkg -I os-agent_1.6.0_linux_aarch64.deb
4. Home Assistant Supervisedのインストール
$ wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
$ sudo apt install ./homeassistant-supervised.deb
ここまで進めると以下のような画面になります。筆者は raspberrypi4-64
を選択しました。

最終的に以下のような内容が出力されれば成功です。Home AssistantにアクセスするためのURLも記載されています。
[info] Install supervisor startup scripts
[info] Install AppArmor scripts
[info] Start Home Assistant Supervised
[info] Installing the 'ha' cli
[info] Switching to cgroup v1
[info] Within a few minutes you will be able to reach Home Assistant at:
[info] http://homeassistant.local:8123 or using the IP address of your
[info] machine: http://192.168.1.99:8123
[warn] A reboot is required to apply changes to grub.
リブートが必要とのことなので再起動します。
$ sudo reboot
Dockerのコンテナ一覧を見てみます。Home AssistantやSupervisorが立ち上がっていることが確認できます。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6804115ac026 ghcr.io/home-assistant/aarch64-hassio-multicast:2023.06.2 "/init" 41 seconds ago Up 39 seconds hassio_multicast
d4e14969e6fb ghcr.io/home-assistant/aarch64-hassio-audio:2023.10.0 "/init" 44 seconds ago Up 41 seconds hassio_audio
35da857b55c9 ghcr.io/home-assistant/aarch64-hassio-dns:2023.06.2 "/init" 46 seconds ago Up 44 seconds hassio_dns
0ff8a22bb194 ghcr.io/home-assistant/aarch64-hassio-cli:2023.11.0 "/init" 49 seconds ago Up 46 seconds hassio_cli
586f7448cf4f ghcr.io/home-assistant/raspberrypi4-64-homeassistant:landingpage "/usr/bin/landingpage" 3 minutes ago Up 38 seconds homeassistant
9aece7307818 ghcr.io/home-assistant/aarch64-hassio-observer:2023.06.0 "/usr/bin/observer" 3 minutes ago Up 54 seconds 0.0.0.0:4357->80/tcp, :::4357->80/tcp hassio_observer
03f2423bbf69 ghcr.io/home-assistant/aarch64-hassio-supervisor:latest "/init" 6 minutes ago Up 52 seconds hassio_supervisor
ダッシュボードにアクセス
インストール完了時に記載されていたURLにアクセスします。セットアップが完了するまで少し待ちます。

少し待つと画面が変わりました。私のスマートホームを作成します。

必要な情報を入力。

自宅の場所を設定します。天気予報などに反映されます。

任意でデータを共有します。

同一ネットワークにあるデバイスやBLEデバイスが一部認識されたようです。

これでセットアップは完了です!次回以降の記事で、自宅にあるデバイスをHome Assistantに統合する作業を進めていきます。