Loading...

2024-02-06(火) 11:00

🏠 UbuntuでHomeAssistantをDockerで動かす

UbuntuDockerRaspberryPiHomeAssistant
Raspberry Pi上のUbuntuでHomeAssistantをDockerで動かすまでの手順を解説します。

目次

前提と注意事項

この記事では以下を前提としています。

  • RaspberryPi 4B の Ubuntu22.04 上で動作確認をしています。
  • Ubuntu に Docker がインストールされていることを前提としています。
  • この記事では SwitchBot の温湿度計やライトを操作します。

この記事のゴール

SwitchBot などの IoT デバイスを操作するために、HomeAssistant を Raspberry Pi 上の Ubuntu で動かす手順を解説します。HomeAssitant を Docker で動かし、以下の様の HomeAssistant のダッシュボードから IoT デバイスの情報を表示したり操作したりできるようにします。

ダッシュボードページ

HomeAssistant を Docker で動かす

公式ドキュメントにあるように、以下のコマンドを実行して、HomeAssistant を Docker で動かします。

HomeAssistantをDockerで動かす
$ docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Asia/Tokyo \
  -v /home/username/homeassistant:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

上記の/home/username/homeassistantは、Ubuntu 上の任意のパスになります。私は/home/username/homeassistantというディレクトリを事前に作成し、上記の様に指定しています。この中に HomeAssistant の設定ファイルが保存されます。

上記を実行すると、環境にもよりますが10分〜数十分ほどで HomeAssistant が起動します。最終的に以下の様に表示されます。

6f33eb7ce4b6: Pull complete
89607cfe5182: Pull complete
2f36937daebb: Pull complete
5a9ef7bdd4bd: Pull complete
c844109c52f5: Pull complete
5cc6082be354: Pull complete
3fa172e1e91d: Pull complete
b4bc2f8390db: Pull complete
fee3423f2ba6: Pull complete
41a64ba305d0: Pull complete
67c3a9957875: Pull complete
Digest: sha256:19sja802jdiasdflbff12f917d3845adc93606bdad45707bf9e0b6a15aaj1819s
Status: Downloaded newer image for ghcr.io/home-assistant/home-assistant:stable
0b6caa36d0fcb2f89d09005245e4fb3778cef40df73dffb01dbb9c64bd3ec31c

HomeAssistant が起動したら、Ubuntu 上のブラウザでhttp://localhost:8123にアクセスすると、以下の様な HomeAssistant の Welcome ページが表示されます。

HomeAssistantのWelcomeページ

私のスマートホームを作成をクリックすると、以下の様にユーザー作成ページに遷移します。

HomeAssistantのユーザー作成ページ

続いて自宅の場所を設定できます。ここで設定した場所に基づいて天気予報などがデフォルトで表示されます。ここで設定しなくても後から設定もできます。

HomeAssistantの自宅設定ページ

次にアンケートが表示されます。回答しなくても進むことができます。

HomeAssistantのアンケートページ

続いて以下のように互換性あるデバイスが表示されます。「完了」をクリックして進みます。

互換性あるデバイス

「完了」をクリックすると以下のようにダッシュボードが表示されます。

HonemAssistantのダッシュボード

以上で HomeAssistant を Docker で動かすことができました。

デバイスを追加する

HomeAssistant でライトや温湿度計などのデバイスを操作するためには、デバイスを追加する必要があります。ここでは、SwitchBot の温湿度計とライトを追加する手順を解説します。 以下のようにダッシュボードの左サイドバーの「設定」ページを開き、その中にある「デバイスとサービス」をクリックします。

HonemAssistantのデバイス設定メニュー

「デバイスとサービス」ページでは以下のように HomeAssistant が自動的に検出したデバイスが表示されます。

検出したデバイス一覧

上記で、HomeAssistant に追加したいデバイスの「設定」という青いボタンをクリックすると、以下のように表示されます。

検出したデバイスの設定

上記で「送信(submit)」をクリックすると以下のように表示され HomeAssistant にデバイスが追加されます。

デバイスの設定完了

ここで設定完了したデバイスは、以下のようにサイドバーの「オーバービュー」に表示されます。以下はいくつかのデバイスを追加した例です。

ダッシュボードページ

上記で表示されているデバイス名をクリックすると、そのデバイスの情報を確認できます。例えば、上記の「書斎温度」は SwitchBot の温湿度計ですが、クリックすると以下のように表示されます。

温度計の情報

また、SwitchBot のライトだと以下のように色や明るさを変更したり、オンオフを操作できます。

ライトの操作

他にもルームを作成して各デバイスを整理したり、ダッシュボードの表示もカスタマイズすることができます。

まとめ

HomeAssistant を使うことで様々なデバイスを一括管理することができます。この記事では HomeAssistant を動かすところまでしか解説していませんが、HomeAssistant には様々な機能があります。例えば、自宅のセンサー情報を収集してグラフ化したり、自宅のセンサー情報を元に自動でエアコンを操作するなど、様々なことができます。また、独自のスクリプトを書いたりオートメーションを設定したりすることで各デバイスを好きなように連携させることができます。

もし Bluetooth ではなく SwithBot Hub につながっているデバイスも操作したい場合は、HomeAssistant と SwithBot クラウドを連携させることで情報の閲覧や操作を実現できます。以下に HomeAssistant と SwithBot クラウドを連携させる手順を解説した記事を紹介します。

🎚️ HomeAssistantとSwitchBotクラウドを連携してSwitchBot Hub経由の操作を行う

Ubuntuで動かしているHomeAssistantをSwithBotクラウドと連携させて、HomeAssistantからSwithBot Hub経由での操作を行うところまでの手順を解説します。

ritaiz.com