はじめに
みなさん、Home Assistant 使っていますか!先日投稿した 秋月電子の謎SOC基板を使って、家の電力計の値を取得してHome Assistantで可視化しよう のように、家の中の機器を一括管理できる、おススメなツールです。
ポイントとしては、
- 多くの機器に対応している ( https://www.home-assistant.io/integrations/ )
- WebGUIで管理できる。OSレベルの操作(linuxコマンド入力するなど)はほぼ不要
- 動作がものすごく安定している
- オープンソースなので、ベンダロックされない
- アドオン「 ESPHOME 」を追加すると、ESP32を使ってお手軽にHome Assistantと連携した機器を作れる。(以前書いた記事「秋月電子の謎SOC基板で取得した家の電力利用状況を、小型液晶画面に表示しよう」をご参照ください。)
などなど、手間をかけずに稼働できるところが、とてもすばらしいです。
簡単ですが、みなさんの家に一つはあるだろう古いPCに、このHome Assistantサーバーをインストールする手順をまとめました(手順にするほど、複雑ではないのですが…)。まだ家に設置されていない方、お試しください。
準備するもの
-
ちょっと前のデスクトップPC
- ここでは、定番のRaspberryPiではなく、Windows11に対応しない(第8世代Intel CPU以前の)デスクトップPCにインストールしてみましょう。64ビット版(x64) Windows 10 が動く程度の性能があり、UEFI ブートができて、定番のチップセット、定番のNICが載っており、32GB以上のストレージ(ハードディスクまたはSSD)、メモリが2GB以上載っているデスクトップパソコンであれば、簡単にインストールできて快適に動きます。(詳細はHome -> Installation -> Generic x86-64をご確認下さい ) 。
- 今回は、手元にあったi5-4590T(第4世代 Haswell)のミニPCにインストールしてみました。中古PCを探せば、RaspberryPi 4よりお安い価格で見つけることができるかと思います。
-
上記PCのストレージをUSB経由で接続するケーブル
- Home Assistantのイメージをハードディスクに書き込むために必要です。
- ケーブルが無い場合は、USBメモリに入れたUbuntu linuxを上記PCに差し込み、イメージを書き込む方法もあります。⇒To install HAOS via Ubuntu from a USB flash drive
-
いつも使っているPC
- 稼働時の操作は、上記デスクトップのPCでは行わず、いつも使っているPCからwebブラウザ経由で操作します。また、インストール時にOSイメージを書き込むためにも使います。
Home Assistantのイメージをダウンロードして、ストレージ(ハードディスク・SSD)に書き込む
いつも使っているPCで、 Home Assistant Operating System から、Generic x86-64のOSイメージファイル(ファイル名が「haos_generic-x86-64-xx.x.img.xz」(xx.xはバージョン))をダウンロードします。
ダウンロードしたらファイルを展開し、haos_generic-x86-64-xx.x.img のファイルを取り出します。また、OSイメージを直接ストレージに書き込むツール Balena Etcher をダウンロードします。
古いデスクトップPCのストレージを取り出し、いつも使っているPC(上記Balena EtcherをインストールしたPC)にUSB経由で接続します。
Balena Etcherを起動し、「Flash from File」をクリックして、書き込みイメージとして上記 haos_generic-x86-64-xx.x.img を選びます。そして「Select Target」として、上記USB経由で接続したストレージを選択します(ストレージを間違えると、とても悲惨なことになるので、関係ないストレージは外しておくなど、間違えないようにしましょう)。「Flash」を押して、OSイメージをストレージに書き込みます。
ストレージを古いデスクトップPCに入れて起動!
上記でOSイメージを書き込んだストレージをPCに入れ、LANケーブルを接続して起動します。操作は他のPCからWebブラウザ経由で行うので、LANケーブルをつないでください。
初回はストレージのパーティションの調整などを行っているようですので、5~10分程度待って、いつも使うPCのブラウザから、以下を入力してください。
http://homeassistant.local:8123/
なお、ディスプレイを接続すると、動作確認、IPアドレスの確認が行えます。以下のような画面が表示されていれば、正常に動作しています。
ブラウザで以下のような画面が表示されれば、Home Assistantサーバー完成です!
以下の設定を行います。
- 「私のスマートホームを作成」を押します。まず、自分のユーザーアカウント(このHome Assistantサーバーにログインするためのアカウントです)
- 「自宅の場所」を設定します。(天気や日の出/日の入りなどの環境情報を収集するのに使います)
ちょっとした初期設定を行う。
- 画面左の「設定」を押して、「システム」⇒「一般設定」で、サーバ名称、単位などを設定します。
- このサーバーの電源を切るには、画面左の「設定」を押して、「システム」を選びます。画面右上にある電源のアイコンを押します。
試しにデバイスを追加して、ダッシュボードに表示してみる。
- Home Assistantで、例えばLED電球をコントロールするとします。Home Assistantでは、LED電球を「デバイス」と呼びます。このLED電球の状態を示す数値を、「エンティティ」と呼びます。また、デバイスを制御する機能を「サービス」と呼びます。
- ここでは試しに、今回作成したHome Assistantサーバーの状態を、エンティティとして取得するサービスを追加してみましょう。(ただし、用意したPCによっては、正常に値を取得できない項目があります)
- まず、空白のダッシュボードを作成します。「設定」⇒「ダッシュボード」⇒「ダッシュボードを追加」で、空白のダッシュボードを作成します。
- 「設定」⇒「デバイスとサービス」を選び、画面右下の「統合を追加」をクリックします。
- 「System Monitor」サービスを探してクリックし、「送信」をクリックします。
- 画面下のほうの「設定済み」に「System Monitor」が追加されていると思いますので、クリックします。「エンティティ」をクリックすると、Home Assistantサーバーの状態を取得できる項目の一覧が表示されます。
- 試しに「プロセッサー温度」を探してクリックし、右上の歯車アイコンをクリックして設定画面を開き、「有効化」をクリックします。
- 一度画面左上の「←」をクリックして、System Montitorの一覧画面に戻り、「サービス」をクリックすると、「診断」項目に、先ほど有効化した「プロセッサー温度」が追加されているかと思います。ここで「ダッシュボードに追加」をクリックすることで、空白のダッシュボードに、リアルタイムにプロセッサー温度()を表示できます。