
【初心者向け】Mac を Home Assistant サーバーにしよう
みなさんこんにちは、たいくんです。
以前、「【VirtualBox】Home Assistant のインストール方法と使い方【目指せ最強のスマートホーム!】」という記事を書いたのですが、内容が古くなってしまい、手順が異なる場所も出てきました。
最近ブログをリニューアルしたので、この機会に記事を新しく書き直すことにしました。
また、実用的で便利な使い方ができるような手順もご紹介します。
目次
Home Assistantとは?
この記事をご覧になっている方はご存知の方も多いかと思いますが、「Home Assistant」はApple HomeKitやGoogle Home、Amazon Alexaなどのような、スマートホーム向けプラットフォームの1つです。
できること
Home Assistantはとても高機能で、本当に何でもできます。
注目すべき機能として以下のようなものがあります。
- 1000以上のブランドに対応
- 多種多様な製品を接続して、一元管理することができます。
- 強力なオートメーション(自動化)
- 高度なオートメーションエンジンによって、思い通りのオートメーションを組むことができます。
- 自由自在に制御できるダッシュボード
- ドラッグアンドドロップで並び替えたり、様々なカードを配置したりしてカスタマイズすることができます。
- 独自の音声アシスタント「Assist」*
- 自然言語を使って直感的にHome Assistantを制御することができます。
- アドオンを使ってシステムを拡張
- Home Assistantの機能だけにとどまらず、様々なアプリケーションを実行することができます。
- すべてのスマートホームのデータは自宅にとどまる
- ほとんどのデバイスはローカルで通信し、制御するため、クラウドは必要ありません。クラウド以外に選択肢がない場合はクラウドも使用することができますが、データはクラウドには保存されず、すべてローカルで処理されます。
- モバイルアプリ
- モバイルアプリからHome Assistantを操作したり通知を受け取ったりするだけでなく、位置情報をHome Assistantに送って、オートメーションに活用したりすることもできます。
- 自宅の電力マネジメント
- 高度な電力マネジメント機能によって、ソーラーパネルの状態を監視・最適化したり、電力の使用状況を確認して節電したりすることができます。
- 様々な画面をダッシュボードの表示に使える「Home Assistant Cast」
- テレビやスマートディスプレイなどにHome Assistantの画面をキャストし、様々なデバイスにダッシュボードを表示させることができます。
- NFCタグ
- NFCを使って音楽を鳴らしたり、オートメーションを動作させたりすることができます。
このように、とても多くの機能が搭載されています。
ローカル制御が素晴らしい
Home Assistantは「システムは自宅で動作するべきであり、クラウド上ではない」といった理念のもと開発されたオープンソースのプラットフォームです。
つまり、(HomeKitを除いた)他のプラットフォームとは異なり、ローカル制御に重きを置いて開発されています。
上記でも紹介しましたが、クラウドを通さずに直接デバイスと通信することができるため、操作の遅延が短くなったり、クラウドがダウンしていても操作できたりといった恩恵を受けることができます。
私は長年Home Assistantを使っていますが、ローカルで制御できるというのは本当に素晴らしいことだと実感しています。
もちろん、クラウドの方が難しい設定なしにセットアップしたり外出先から簡単に操作したりすることができますが、クラウドサーバーがダウンしてしまう事は少なくなく、操作したいときに操作できなかったら意味がありません。
また、クラウドに依存していると、せっかく買ったスマートデバイスでもメーカーが倒産するなどしてクラウドサーバーが提供されなくなった場合に、全く操作できなくなってしまうリスクもあります。
ローカル制御であればこうした心配は一切なく、安心して使い続けることができます(最初にメーカーのアプリなどを使ってセットアップしなければならないものもありますが…)。
これからスマートホームを構築しよう・新しいデバイスを購入しようと考えている方は、可能な限りローカル制御に対応したデバイスを購入されることを強くおすすめします。
Home Assistantに対応したデバイス(統合**)はこちらから確認することができます。
フィルターの「IoT Class」を「Local Push」または「Local Polling」に指定すると、ローカル制御に対応した統合のみを表示することができます。
Local PushとLocal Pollingの違いは以下の通りです。
- Local Push
- スマートデバイスが、デバイスの状態をHome Assistantに送ります。
デバイスの変更は、Home Assistant上ですぐに検知できます。
- スマートデバイスが、デバイスの状態をHome Assistantに送ります。
- Local Polling
- Home Assistantが、デバイスの状態を定期的に(例えば、15秒に1回など)スマートデバイスに取りに行きます。
デバイスの変更は、変更が起きた後、Home Assistantが状態を取りに行った際に検知されます(最長で更新間隔分遅延する場合があります)。
- Home Assistantが、デバイスの状態を定期的に(例えば、15秒に1回など)スマートデバイスに取りに行きます。
* 残念ながら、記事執筆時点では標準搭載されているAssistのエンジンは日本語に対応していません(LLMを使って日本語に対応させることはできます)。
** Home Assistantでは、デバイスを接続したり制御したりするためのプログラム(機能)のことを「統合」と呼びます。
日本ではまだあまり使われていない

Home Assistantは、こちらのページで統計情報が公開されています(分析を共有することを選択したユーザーのみ)。
このように、Home Assistantのアクティブ利用ユーザー(インストール)数は右肩上がりで上昇し続けています。

しかし、地域別利用状況を見ると、記事執筆時点ではアメリカでのユーザー(インストール)数は81906となっていますが、日本は1421と、決して多くはありません。
Home Assistantはほとんどが日本語に対応しているにもかかわらず、ユーザー数があまり多くない理由として、個人的には次のようなものが考えられると思います。
- そもそも日本ではスマートホームがあまり普及しておらず、スマートデバイスが(他の地域と比べて)あまり使われていない
- 日本で購入できるスマートデバイスの選択肢が少ない
- 日本で購入できるものでも、独自規格やクラウドサービスに依存するスマートデバイスが多い
- Home Assistantのドキュメントが英語のみ
- 日本語でのHome Assistantの情報が少ない
以前と比べればスマートホームは広がりつつありますが、それでも他の地域と比べればまだまだ普及していないと思います。
また、日本で購入できるデバイスでも、クラウドサービスに依存するような製品が多く、独自の規格やサービスでしか使用できないといったような互換性の低さも問題だと思います。
しかし、最近は「Matter」のような標準規格が登場したこともあり、これからはスマートデバイスの選択肢が増え、一元管理ができて、プライバシーについても気にかけるユーザーが増えてくるだろうと思っています。
そのため、そういったことを望むユーザーには、Home Assistantはぴったりなプラットフォームであると言えるでしょう。
Home Assistantのドキュメントが英語のみしか提供されていない事は(言語によって情報に差異がないように維持し続けるのは難しいため)ある程度仕方がないことかとは思いますが、今後、日本でのHome Assistantユーザーが増えていけば、日本語での情報もさらに増えていくと思われます。
以前と比べれば日本語での情報も増えてきつつあるため、これらの点を考えれば、Home Assistantを始めるには悪くないタイミングだと言えるでしょう。
Home Assistantのインストールについて
Home Assistantを使うにはサーバーが必要
Home Assistantはデバイスと通信し、制御し、データを保管するために、Home Assistantを動かすためのサーバーが必要になります。
サーバーといっても、そんな大それたものではありませんのでご安心ください。
新たな機材を用意する必要はなく、お持ちの機材だけでサーバーを立ち上げることができます。
Home Assistantの様々なインストール方法
Home Assistantには、大きく分けて4つのインストール方法があります。
それが以下の通りです。
- Home Assistant OS
- すべての機能が揃った方法で、とても簡単かつ初心者向け。管理も簡単。
- Home Assistant Container
- Home Assistantの中心機能だけのコンテナベースの方法で、比較的簡単。管理も比較的簡単。
- Home Assistant Core
- 手動でPython仮想環境を使ってインストールする方法で、とても難しく、上級者向け。管理が難しい。
- Home Assistant Supervised
- 手動でSupervisorをインストールする方法で、難しく、上級者向け。管理は簡単。
違いは以下の通りです。
機能 | OS | Container | Core | Supervised |
---|---|---|---|---|
オートメーション | ◯ | ◯ | ◯ | ◯ |
ダッシュボード | ◯ | ◯ | ◯ | ◯ |
統合 | ◯ | ◯ | ◯ | ◯ |
アドオン | ◯ | × | × | ◯ |
ブループリント | ◯ | ◯ | ◯ | ◯ |
ワンクリックアップデート | ◯ | × | × | ◯* |
バックアップ | ◯ | ◯ | ◯ | ◯ |
どのインストール方法を選んでもHome Assistantの基本機能を使うことができますが、Home Assistant OSを使うのが最も簡単でおすすめです。
この記事でも、Home Assistant OSを使ったインストール方法をご紹介します。
* OSの管理は自分で行う必要があります。
なお、この方法はmacOSには対応していません(Macで使いたい場合はDebianをインストールする必要があります)。
MacをHome Assistantサーバーとして使用する
今回インストールするHome Assistant OSは、その名の通りOSですので、macOSの上に直接インストールすることはできません。
そのため、macOSの上に仮想マシンを作成し、そこにインストールします。
今回はIntelプロセッサを搭載した古いMacと、Appleシリコンを搭載した新しいMacのどちらにも対応した方法をご紹介します。
Home Assistantサーバーとして使用するのにおすすめのMac
Home Assistantの要求スペックはそこまで高くないため、よほど古いものでない限り、基本的にはどのMacにインストールしても速度的に問題が起こる事は無いでしょう。
過去に2012年モデルのMacBook Proにインストールして使っていましたが、全く不満のない速度で動作していました。
ただし、Home Assistantサーバーは可能な限り24時間365日動作させたいものなので、長時間動き続けても消費電力が低いものにインストールするのが望ましいです。
例えば、Mac miniは比較的消費電力が低いため、サーバーとして使うのにも向いています。
一方、iMacやMac Proなどは高性能な分、消費電力が高いため、長時間動かし続けるような用途には向いていません。
ただし、Appleシリコンを搭載したMacであれば、Intelプロセッサを搭載したMacよりもはるかに消費電力が低いため、基本的にはどの機種を使っても良いでしょう。
これらはあくまで推奨というだけで、他のMacにインストールしても問題ありません。
一方、ノートパソコン(MacBookシリーズ)にインストールするのはおすすめとは言えません。
デスクトップよりもMacBookシリーズの方が消費電力が低い場合が多いですが、常時電源に接続して使用していると、バッテリーが劣化したり膨張したりしてしまう可能性が高まります。
古いMacBook Proなど、バッテリーを取り外すことができるモデルの場合はバッテリーを取り外して使用すればこのような問題を回避することができますが、そうでない場合はMacBookをサーバーとして使用するのはおすすめしません。
お試しで使ってみる分には全く問題ありませんが、本格的にサーバーとして運用する場合はMacBookシリーズではなく、デスクトップを使用されることを強くおすすめします。
ちなみに、仮想マシンを使ってインストールするため、Macに搭載されたメモリ容量が少ないとメモリ不足になってしまう場合があります。
Home Assistant OSをインストールする前に、インストール先のMacに最低でも8GB以上、できれば16GB以上のメモリが搭載されていることをご確認ください。
使用する仮想化ソフト
今回、Home Assistant OSを仮想マシンにインストールして使います。
そのため、仮想マシンを作成して起動できるようにするための仮想化ソフトを使用する必要があります。
この記事では、以下の2つの仮想化ソフトを使ってインストールする方法をご紹介します。
どちらもIntelプロセッサを搭載したMacとAppleシリコンを搭載したMacのどちらにも対応した無料で使用できるソフトで、どちらを使っても機能的には大きな差はありません。
そのため、使用するソフトはお好みでお選びください。
VirtualBoxは古くからあるソフトで、インターネット上に多くの情報があるため、困ったときに情報が手に入りやすいかと思います。
UTMは比較的新しいソフトで、バックエンドには強力なQEMUを採用しています。新しめのソフトということもあり、UIが洗練されていて使いやすく、高速に動作する印象があります。
インストールする際はどちらもインストールする必要はなく、どちらか1つだけをインストールすれば問題ありません。
VirtualBoxを使ってインストールする
まずは、VirtualBoxを使ってHome Assistant OSをインストールする方法をご紹介します。
UTMを使う方法については、「UTMを使ってインストールする」セクションまで飛ばしてください。
VirtualBoxをインストールする
VirtualBoxはこちらから無料でダウンロードすることができます。
インストール方法はとても簡単ですので割愛します。
VirtualBox用のHome Assistant OSイメージをダウンロードする
VirtualBoxでHome Assistant OSを使用するためのイメージをダウンロードする必要があります。

ダウンロードするにはこちらにアクセスします。
アクセスするとこのような画面が表示されるので、下のほうにスクロールします。

「Assets」と書かれたところに様々なイメージが表示されるので、以下のものをクリックしてダウンロードします。
- Intelプロセッサ搭載のMac
- haos_ova-XX.X.vdi.zip
- Appleシリコン搭載のMac
- haos_generic-aarch64-XX.X.vmdk.zip
よく確認すべきところは太字にしています。
ダウンロードしたファイルはZIPで圧縮されているので展開して、誤って削除してしまわないような場所に移動しておきましょう(仮想マシンの動作にはダウンロードしたファイルが使われるため、削除してしまうと仮想マシンが起動できなくなってしまいます)。
VirtualBoxで仮想マシンを作成する

VirtualBoxを起動したら、上にある「新規」をクリックします。

次の項目を設定します。
- 名前
- 「Home Assistant OS」などのわかりやすい名前を入力します。
- フォルダー
- 仮想マシンが保存されるフォルダを指定します。特になければデフォルトの場所でも問題ないでしょう。
- タイプ: Linux
- Subtype: Oracle Linux
- バージョン
- Intelプロセッサを搭載したMac: Oracle Linux (64-bit)
- Appleシリコンを搭載したMac: Oracle Linux (ARM 64-bit)
設定したら、下のほうにある「ハードウェア」をクリックします。

次の項目を設定します。
- メインメモリー: 2048 MBまたはそれ以上(4096 MB以上を推奨)
- 多くのアドオンを使う予定の場合は、メモリ容量を多めに割り当てることをおすすめします。
割り当てが多すぎると不安定になってしまう場合があるため、最大でも搭載容量の半分程度にしておきましょう。
- 多くのアドオンを使う予定の場合は、メモリ容量を多めに割り当てることをおすすめします。
- プロセッサー数: 2またはそれ以上
- 多くのコアが搭載されたMacの場合は4コア以上を割り当てることをおすすめします。
こちらも割り当てが多すぎると不安定になってしまう場合があるため、最大でも搭載コア(スレッド)数の半分程度にしておきましょう。
- 多くのコアが搭載されたMacの場合は4コア以上を割り当てることをおすすめします。
- EFIを有効化(一部のOSのみ): チェックを入れる
設定したら、1つ下の「ハードディスク」をクリックします。

「すでにある仮想ハードディスクファイルを使用する」を選択したら、右にある黄色いフォルダアイコンをクリックします。

このような画面が表示されたら、左上の「追加」をクリックして、先ほどダウンロードしたイメージファイルを追加したら、右下の「選択」をクリックします。

このように、追加したファイルが表示されていれば問題ありません。
「完了」をクリックします。

仮想マシンが作成できたら、まだ起動はせず、上にある「設定」をクリックします。

左側の「オーディオ」をクリックしたら、「オーディオコントローラー」を「Intel HD オーディオ」に変更します。

次に、左側の「ネットワーク」をクリックしたら、「割り当て」を「ブリッジアダプター」に変更します。
必要に応じて、「名前」を使いたいネットワークアダプターに変更してください(例えば、Wi-Fiとイーサネットのどちらにも接続している場合、「enX: Ethernet」を選択して、Home Assistantの通信をイーサネットで行うように指定することをおすすめします)。
設定できたら、右下の「OK」をクリックして設定を保存します。

設定が終わったら仮想マシンを起動します。
このような画面が表示されれば起動プロセスが始まっています。

しばらく待って、このような画面が表示されたらHome Assistant OSが問題なく起動しています。
ここから先のHome Assistantのセットアップについては、以下の「Home Assistantを設定する」セクションに進んでください。
UTMを使ってインストールする
次は、UTMを使ってHome Assistant OSをインストールする方法をご紹介します。
UTMをインストールする
UTMはこちらから無料でダウンロードすることができます。UTMの開発者を支援したい方は、Mac App Storeから有料版をご購入ください(UTMの自動アップデート以外は機能の差異はありません)。
インストール方法はとても簡単ですので割愛します。
UTM用のHome Assistant OSイメージをダウンロードする
UTMでHome Assistant OSを使用するためのイメージをダウンロードする必要があります。

ダウンロードするにはこちらにアクセスします。
アクセスするとこのような画面が表示されるので、下のほうにスクロールします。

「Assets」と書かれたところに様々なイメージが表示されるので、以下のものをクリックしてダウンロードします。
- Intelプロセッサ搭載のMac
- haos_ova-XX.X.qcow2.xz
- Appleシリコン搭載のMac
- haos_generic-aarch64-XX.X.qcow2.xz
よく確認すべきところは太字にしています。
ダウンロードしたファイルはXZで圧縮されているので展開しておきましょう。
UTMで仮想マシンを作成する

UTMを起動したら、左上にある「+」をクリックします。

「仮想化」をクリックします。

下にある「その他」をクリックします。

起動デバイスは「なし」を選択して、右下の「続ける」をクリックします。

次の項目を設定します。
- メモリ: 2048 MiBまたはそれ以上(4096 MiB以上を推奨)
- 多くのアドオンを使う予定の場合は、メモリ容量を多めに割り当てることをおすすめします。
割り当てが多すぎると不安定になってしまう場合があるため、最大でも搭載容量の半分程度にしておきましょう。
- 多くのアドオンを使う予定の場合は、メモリ容量を多めに割り当てることをおすすめします。
- CPUコア数: 2またはそれ以上
- 多くのコアが搭載されたMacの場合は4コア以上を割り当てることをおすすめします。
こちらも割り当てが多すぎると不安定になってしまう場合があるため、最大でも搭載コア(スレッド)数の半分程度にしておきましょう。
- 多くのコアが搭載されたMacの場合は4コア以上を割り当てることをおすすめします。
設定したら、右下の「続ける」をクリックします。

ストレージは後で設定するため、そのまま右下の「続ける」をクリックします。

何も変更せずに、右下の「続ける」をクリックします。

名前に「Home Assistant OS」などのわかりやすい名前を入力したら、「仮想マシン設定を開く」にチェックを入れて、右下の「保存」をクリックします。

左側の「ネットワーク」をクリックしたら、「ネットワークモード」を「ブリッジ(詳細)」に変更します。

次にとは、左側の一番下のほうにある「VirtIOドライブ」または「IDEドライブ」をクリックしたら、左下の「削除」をクリックします。

ドライブが削除できたら、左下の「新規…」をクリックします。
ディスクの追加画面が表示されたら「読み込む…」をクリックして、先ほどダウンロードしたイメージファイルを追加します。

このように、右上に先ほどダウンロードしたファイル名と同じ名前が表示されていれば問題ありません。

そのままではディスクの容量が小さすぎて、Home Assistantがすぐに容量不足になってしまうため、「サイズを変更…」をクリックします。
サイズ変更画面が表示されたら、32GiB以上の容量を入力して「サイズを変更」をクリックします。

このような警告画面が表示されますが、「サイズを変更」をクリックすることで容量を増やすことができます。
設定できたら、右下の「保存」をクリックして設定を保存します。

設定が終わったら仮想マシンを起動します。
このような画面が表示されれば起動プロセスが始まっています。

もし、Appleシリコン搭載のMacを使用していて、仮想マシンを起動してから最初の数秒間画面が表示された後、「Display output is not active.」と表示されたまま進まなくなってしまった場合は、一旦左上の電源マークのボタンをクリックして仮想マシンを停止します。

次に、右上の設定アイコンをクリックして設定を開きます。

左側の「ディスプレイ」をクリックし、「仮想ディスプレイカード」を「virtio-ramfb」から「virtio-gpu-pci」に変更して設定を保存します。
これで、ディスプレイが正しく表示されるようになるはずです。

しばらく待って、このような画面が表示されたらHome Assistant OSが問題なく起動しています。
ここから先のHome Assistantのセットアップについては、以下の「Home Assistantを設定する」セクションに進んでください。
Home Assistantを設定する
初期設定を行う

Home Assistant OSを起動してしばらくすると、上記のような画面が表示されるので、同じネットワーク内に接続したパソコンからウェブブラウザで「http://homeassistant.local:8123/」または「http://画面に表示されているIPv4アドレス:8123/」(この画像の例だと「http://192.168.1.236:8123/」)にアクセスします。
上記の画面が表示されてからすぐにアクセスしても接続できない場合があります。その場合は、少し待ってからアクセスしてみてください。

アクセスできたら、このような画面が表示されるはずです。
初回起動時は様々な準備を行っているため、準備が終わるまでしばらく待ちます。

準備が終わると「ようこそ!」と書かれた画面が表示されるので、「私のスマートホームを作成」をクリックします。

Home Assistantで使用するユーザーアカウントを作成します。
- 名前
- あなたの名前を入力します。
- ユーザー名
- ログイン時に入力するユーザー名を入力します。
- パスワード
- ログインする際に使用するパスワードを入力します。
サーバーを外部に公開して外出先からもアクセスできるようにする場合、パスワードマネージャーの自動生成機能などを使って、強力なパスワードを設定しておくことを強くおすすめします。
- ログインする際に使用するパスワードを入力します。
- パスワードの確認
- 「パスワード」欄で入力したパスワードをもう一度入力します。
すべて入力できたら、右下の「アカウントの作成」をクリックします。

自宅の場所を入力します。
ここで設定した場所はHome Assistantサーバーのみに保存され、天気予報を取得したり、オートメーションやクラウドベースの統合などで使用されたりします。
クラウドサーバーに保存されるわけではないため、正しい場所を設定しておくことをおすすめします。

Home Assistantの改善に使用される匿名の使用状況や統計データなどを送信するかどうかを選択します。
こちらはお好みで設定してください。

Home Assistantに登録できるデバイスをお持ちの場合、このような画面が表示される場合があります。
右下の「完了」をクリックするとHome Assistantの初期設定が完了します。

これで、Home Assistantの初期設定は完了です。
ほぼ必須のアドオンを追加する
ここからは、Home Assistantを使い続ける上でほぼ必須ともいえるアドオンを追加します。

これからインストールするアドオンは高度なものですので、デフォルトではインストールすることができません。
そのため、ユーザー設定を開いて「詳細モード」をオンにする必要があります。
ユーザー設定を開くには、サイドバーの最も下にあるユーザー名をクリックするか、以下のボタンをクリックすることで開くことができます。
このボタンは「My Home Assistant」というサービスを使って作成されたボタンです。
初めてMy Home Assistantにアクセスした際に自分のHome AssistantサーバーのURLを設定しておくことで、ボタンをクリックした際に指定のページにリダイレクトすることができます。
ここで設定したURLはブラウザ内にのみ保存されており、外部に送信される事はありませんのでご安心ください(ブラウザの設定でCookieが無効になっているとうまく機能しませんのでご注意ください)。

詳細モードを有効化したら「設定」→「アドオン」→「アドオンストア」と進むか、以下のボタンからアドオンストアにアクセスします。
アドオンストアを開いたら、以下のアドオンをインストールします。
アドオンのページを開いたら、「インストール」ボタンをクリックすることでインストールできます。

アドオンがインストールできたら、「開始」ボタンをクリックするとアドオンを起動することができます。
「サイドバーに表示」をオンにすることで、アドオンがサイドバーに追加されてすぐにアクセスしやすくなるため、特に理由がなければオンにしておくと良いでしょう。
また、「ウォッチドッグ」をオンにしておくと、何らかの理由でアドオンが強制終了してしまった場合に自動的にアドオンが再起動するようになります。
2つのアドオンをインストールして起動させたら準備は完了です。
File editorについて

Home Assistantには、UIから設定できるものと「configuration.yaml」にコードを記述して設定するものがあります。
記事執筆時点では、多くの項目がUIから設定できるようになってきていますが、それでもまだ、古い統合や設定項目などはconfiguration.yamlから設定しなければならないものがあります。
File editorアドオンは、configuration.yamlなどのシステムファイルへ簡単にアクセスしたり編集したりできるようにするアドオンで、設定変更を簡単に行えるようになります。
この記事でFile editorアドオンを使う場面はありませんが、Home Assistantを使っているとconfiguration.yamlを変更する機会が結構ありますので、このアドオンをインストールしておいて損はないでしょう。
Terminal & SSHについて

Terminal & SSHアドオンは、ブラウザでターミナルにアクセスしたり、Home AssistantサーバーにSSHで接続できるようにしたりする高度なアドオンです。
先ほどご紹介したFile editorとは異なり、ターミナルへのアクセスやSSHでのアクセスが必要になる機会はあまりないかもしれませんが、次の「HACSをインストールする」セクションで必要になります。
HACSをインストールする
Home Assistantには標準機能に加えて、コミュニティによって作成されたカスタム統合やテーマなどを追加できるようにするためのHome Assistant Community Store(HACS)と呼ばれるものがあります。
HACSをインストールしておくことで、標準機能だけではHome Assistantに接続できなかったデバイスでもカスタム統合によって接続できるようになったり、お好みのテーマをインストールして見た目をガラッと変えたりすることが簡単にできるようになります。
そのため、HACSをインストールすることをおすすめします。
なお、HACSの利用には無料で作成できるGitHubアカウントとインターネット回線が必要になりますのでご注意ください。

HACSをインストールするには、先ほどインストールしたTerminal & SSHアドオンを開き、次のコマンドを入力して実行します。
wget -O - https://get.hacs.xyz | bash -
コマンドを実行するとHACSのインストールが始まります。
再び入力可能な状態になったらインストールは完了です。
インストールが終わったらHome Assistantを再起動します。
Home Assistantを再起動するには、サイドバーまたは以下のボタンから「設定」を開き、右上の「…」から「Home Assistantを再起動」をクリックします。
HACSを設定する
Home Assistantが起動したら、「設定」→「デバイスとサービス」と進むか、以下のボタンから「統合」設定を開きます。

右下の「統合を追加」をクリックしたら「HACS」と検索して追加します。
検索してもHACSが表示されない場合、ブラウザのキャッシュをクリアするか、ハード再読み込みする必要があります。

HACSを追加しようとするとこのような画面が表示されます。
次の4つの項目に同意する(チェックを入れる)必要があります。
- Home Assistantのログにアクセスする方法を知っている
「設定」→「システム」→「ログ」と進むか、以下のボタンからログにアクセスすることができます。 - HACSにはアドオンがないことを知っている
アドオンは「アドオンストア」からのみ入手可能で、HACSにはアドオンが存在しません(カスタム統合とアドオンは別物です)。 - HACS自身を含むHACS内の全てはカスタムであり、Home Assistantによってテストされていないことを知っている
すべてコミュニティによって作成されたものですので、Home Assistantの公式によるテストは行われていません。 - Home Assistantで問題が発生した際、すべてのcustom_componentsを動かしなければならないことを知っている
Home Assistantが正常に起動しなくなった場合など、custom_components(カスタム統合)を無効化して自分で原因を見つける必要があります。
これらの項目に同意したら、右下の「送信」をクリックします。

次は、GitHubのアカウントを使ってHACSを承認する必要があります。
GitHubのアカウントをお持ちでない場合はこちらからアカウントを作成してください。

GitHubアカウントの準備ができたら、「https://github.com/login/device」にアクセスして、Home Assistantの画面上に表示されている8桁のコードを入力します。

コードを入力したらこのような画面が表示されます。
公開されている情報を読み取り専用でアクセスすることを要求されるので、「Authorize hacs」をクリックしてHACSを承認します。

承認に成功すると、Home Assistantの画面にこのようなものが表示されるので、「SKIP AND FINISH」をクリックします。

これで、HACSの設定は完了です。
サイドバーの「HACS」からHACSにアクセスすることができます。
ダッシュボードを設定しよう

デフォルトのダッシュボードである「オーバービュー」は、登録したデバイスが一覧で並んでいるだけの味気ないものとなっています。
そのため、カスタマイズ可能なダッシュボードを作成しましょう。

ダッシュボードを追加するには、「設定」→「ダッシュボード」と進むか、以下のボタンからダッシュボードの設定を開き、右下の「ダッシュボードを追加」をクリックします。
ダッシュボードの追加画面が表示されるので、お好みのものを選択します。
「新しいダッシュボードを一から作る」を選択すると、自分で高度にカスタマイズできるダッシュボードを作成することができます。
「エリア(実験的)」を選択すると、エリア(部屋)別のビュー(タブ)が作成され、簡単に使い始めることができます。
「実験的」と書かれている通り、記事執筆時点ではまだ実験的機能であり、また、カードを並び替えてカスタマイズすることはできません(表示するエリアの順番を変更することはできます)が、部屋別のダッシュボードがとても簡単に作成できるため、初心者には最もおすすめです。
他にも、地図やウェブページといった特定の機能だけを使ったダッシュボードを作成することもできます。

作成したいダッシュボードを選択したら、このような画面が表示されるので、次の項目を設定します。
- タイトル
- サイドバーに表示されるダッシュボード名を入力します。
- アイコン
- サイドバーに表示されるアイコンを指定します。
- URL
- このダッシュボードにアクセスするためのURLスラッグを入力します。
1つ以上の「-」(ハイフン)を入れる必要があります。
- このダッシュボードにアクセスするためのURLスラッグを入力します。
- 管理者のみ
- このダッシュボードを管理者アカウントでのみアクセス可能にします。
- サイドバーに表示
- このダッシュボードをサイドバーからアクセスできるようにします。
「URL」以外は後から変更することができます。
設定したら、右下の「作成」をクリックするとダッシュボードが作成されます。

今回は「エリア(実験的)」を使ってダッシュボードを作成しました。
こんな感じで、ホームタブには部屋別のデバイスが表示され、部屋別にタブが作成されます。
部屋のタブを開くと、デバイスの種類(「照明」や「空調」など)によってグループ化された画面が表示されます。
私のダッシュボードの例
私が使用しているダッシュボードの例をご紹介します。
ダッシュボードカスタマイズの参考にしてみてください。
ホームタブ

私はこんな感じで、高度にカスタマイズしたダッシュボードを使用しています。
HACSを使って様々なカスタムカードやカスタム統合をインストールし、整っていて使いやすいダッシュボードを目指しました。
また、自作のカスタムテーマ「Blue Theme by taikun114」を使用しています(HACSからインストールできるので、ぜひ使ってみてください!)。
今後、おすすめのカスタムカードやカスタム統合などをご紹介する記事も書こうと思っているので、お楽しみに!
私の部屋ビュー

私の部屋ビューはこんな感じになっています。
ホームタブ以外はすべて、タブの設定から「サブビュー」に設定していて、タブが全く表示されないようにしています。
種類ごとにグループ化しており、よく使うものだけを配置しています。
また、グループ名をクリックすることで他のカード(よく使うもの以外)も表示するようにしています。
さすがに、ここまでの高度なカスタマイズは大変でしたが、とても使いやすいものに仕上がっていて、とても気に入っています。
バックアップを設定しておこう

必ずHome Assistantのバックアップを設定しておきましょう。
せっかくカスタマイズして使っていたのに、万が一の事態が発生してデータが消えてしまうととても悲しいものです。
バックアップを作成しておけばこうした自体を避けられるだけでなく、サーバーが故障したり別のサーバーに移行したりするときに簡単に移行することもできます。
バックアップを設定するには、「設定」→「システム」→「バックアップ」と進むか、以下のボタンからバックアップの設定を開きます。
バックアップの設定が開いたら、「バックアップを設定する」をクリックします。

Home Assistantで作成されるバックアップは暗号化されており、復元する際に「暗号化キー」が必要になります(暗号化キーをなくすと復元できず、データを失うことになってしまいます)。
バックアップの設定から暗号化を切ることもできますが、プライベートな情報が数多く保存されているため、暗号化は切らずに使うことを強くおすすめします。
復元に必要な暗号化キーが画面に表示されるので、どこか安全な場所にコピーしておきましょう。
また、緊急キットには復元に必要な(暗号化キーを含む)情報が記載されたテキストファイルをダウンロードすることができるので、ダウンロードして安全な場所に保存しておきましょう。
なお、これらの情報は後からでも確認できます(できる限り早めに保存しておきましょう)。

暗号化キーを保存したら自動バックアップの設定画面が表示されます。
特に理由がなければ、「推奨」を選択することをおすすめします。

これで設定は完了です。
設定が終わるとバックアップが作成されます。
3-2-1バックアップルールに則ったバックアップを設定しよう
みなさんは、「3-2-1バックアップルール」をご存知でしょうか?
3-2-1バックアップルールとは以下のようなものです。
- 3つのデータコピーを作成する
- 2つのコピーは異なる別のメディアに保存する
- 1つのコピーはオフサイト(クラウドなど、自宅外)に保存する
このような戦略でバックアップすることで、データ消失リスクを最小限に抑えることができます。
例えば、自宅内の異なるメディア(NASなど)だけにバックアップしていると、災害などによって自宅内のデータにアクセスできなくなってしまった場合、データが消失してしまいます。
しかし、オフサイトにも保存しておけば、このような事態を回避することができます。
Home Assistantの場合、例として以下の3つの場所にバックアップしておけば、3-2-1バックアップルールに則ったバックアップとなります。
- Home Assistantのローカルストレージ
- NAS
- クラウドドライブ
このようにバックアップしておくことで、データ消失のリスクを最小限に抑えられます。
デフォルトでは、Home Assistantサーバーのローカルストレージのみにバックアップが保存されます。
そのため、Home Assistantサーバーが故障してしまった場合、バックアップデータを取り出すことができなくなってしまう可能性があるため、必ず別の場所にもバックアップを作成するように設定しておきましょう。
バックアップの場所を追加する

バックアップに対応した統合を追加することで、バックアップ先として設定することができるようになります。
バックアップに対応した統合は、こちらから確認することができます。
可能であれば、2つ以上の場所を追加しておきましょう。

バックアップに対応した統合を追加したら、再びバックアップの設定に戻り、下のほうにある「バックアップ設定」内の「バックアップの保存先」をクリックします。

バックアップの保存先を選択する画面が「場所」のところに表示されるので、先ほど追加した統合のスイッチをオンにします。
これで、次回バックアップが作成された際に、ここで設定した場所にアップロードされます。
ネットワークドライブを追加してバックアップ先に使用する

NASやSambaサーバーなどといったネットワークストレージがある場合、Home Assistantのストレージ設定からネットワークストレージを追加することができます。
ネットワークドライブを追加するには、「設定」→「システム」→「ストレージ」と進むか、以下のボタンからストレージの設定を開きます。
ストレージの設定が開いたら、「ネットワークストレージを追加」をクリックします。

次の項目を設定します。
- 名前
- UIに表示される名前で、マウントポイント名でもあります。
英数字と「_」(アンダースコア)のみ使用できます。
- UIに表示される名前で、マウントポイント名でもあります。
- 使用方法: バックアップ
- サーバー
- ストレージサーバーへのドメイン名またはIPアドレスを入力します。
- プロトコル
- 使用するプロトコルを選択します。
さらに、必要に応じて接続に必要な情報を入力します。
設定したら、右下の「接続」をクリックするとネットワークストレージを追加することができます。

ネットワークドライブを追加できたら、再びバックアップの設定に戻り、下のほうにある「バックアップ設定」内の「バックアップの保存先」をクリックします。

バックアップの保存先を選択する画面が「場所」のところに表示されるので、先ほど追加したネットワークドライブのスイッチがオンになっていることを確認します(オンになっていなければオンにします)。
これで、次回バックアップが作成された際に、ここで設定した場所にアップロードされます。
Macをサーバーとして使うための便利な使い方
停電復帰時に自動的にMacが起動するように設定する(デスクトップのみ)
デフォルトでは、Macの電源が入っているときに停電などによって電源が切れてしまった場合、電源が復旧しても自動的に電源が入りません。
Macをサーバーとして使用する場合、予期せぬ電源断から復帰したときに、自動的にMacの電源が入るように設定しておくと良いでしょう。

記事執筆時点で最新のmacOS Sequoiaでは、「システム設定」の「エネルギー」設定を開いて、「停電時に自動的に起動」をオンに設定することで、電源が復旧した際に自動的に電源が入るようになります(停電前にシステム終了していた場合は電源は入りません)。
古いバージョンのmacOSを使用している場合は、設定の場所がわずかに異なる場合があります。
バージョン別の設定方法については、Appleのサポートドキュメントをご覧ください。
仮想マシンをヘッドレスモードで起動する

Home Assistantサーバーは基本的に、起動するとこのような画面が表示されます。
通常利用時はコマンドラインを使用する事は無いため、基本的にディスプレイは不要です。
そのため、ディスプレイなしの「ヘッドレスモード」で仮想マシンを起動するように設定しておきましょう。
こうしておくことで、不要なウィンドウを表示させずに済みます。
まずは、あらかじめ仮想マシンの電源を切っておきます。
仮想マシンの電源を切るには、Home Assistantの「設定」を開き、右上の「…」から「Home Assistantを再起動」をクリックします。
すると、再起動に関するメニューが表示されるため、「詳細オプション」を開き、「システムのシャットダウン」をクリックすると仮想マシンの電源を切ることができます(電源が切れるまで少し時間がかかる場合があります)。
VirtualBoxでヘッドレス化する

仮想マシンの起動ボタンの右側にあるメニューをクリックして、「ヘッドレス起動」をクリックすることで、ヘッドレスモードで起動することができます。
ディスプレイが必要になった際は、仮想マシンの電源を切って通常起動するか、仮想マシンの電源が入っているときに「表示」ボタンをクリックすることでウィンドウが表示されます。
UTMでヘッドレス化する

仮想マシンの設定を開き、左側の「ディスプレイ」をクリックしたら、左下の「削除」をクリックしてディスプレイを削除します。
その後、右下の「保存」ボタンをクリックして設定を保存します。
その状態で仮想マシンを起動することで、ヘッドレスモードで起動します。
ディスプレイが必要になった際は、仮想マシンの電源を切って設定を開き、左側の「デバイス」のところにある「新規…」をクリックしてディスプレイを追加します。
UTMの場合、仮想マシンの電源が入っている状態ではディスプレイを接続することができないため、必ず仮想マシンの電源を切る必要があります。
Macの起動時にHome Assistantサーバーが起動するように設定する
実は、このままではMacの電源を入れてもHome Assistantサーバーは自動的に起動しないため、手動で仮想マシンの電源を入れる必要があります。
何らかの理由でMacが再起動したときに自動的に起動しなければ、とても不便ですよね。
そのため、Macのログイン時に自動的に仮想マシンが起動するように設定します。
まずは、あらかじめ仮想マシンの電源を切っておきます。
仮想マシンの電源を切るには、Home Assistantの「設定」を開き、右上の「…」から「Home Assistantを再起動」をクリックします。
すると、再起動に関するメニューが表示されるため、「詳細オプション」を開き、「システムのシャットダウン」をクリックすると仮想マシンの電源を切ることができます(電源が切れるまで少し時間がかかる場合があります)。
VirtualBoxの場合
まずはターミナルを使って、仮想マシンが起動できることを確認します。

ターミナルを開いたら、次のコマンドを入力して実行します。
VBoxManage list vms
コマンドを実行すると、VirtualBoxで作成された仮想マシンが一覧で表示されるので、Home Assistantサーバーの仮想マシンの名前を確認しておきます。

仮想マシンの名前が確認できたら、次のコマンドを実行して、仮想マシンが起動することを確認します。
VBoxManage startvm "仮想マシンの名前" --type headless
VirtualBoxを開くか、しばらくしてから「http://homeassistant.local:8123/」にアクセスして、仮想マシンが問題なく起動したことを確認します。
問題なく起動したことを確認したら、もう一度仮想マシンをシャットダウンします。
次に、「テキストエディット」を開き、新規書類を作成します。

新規書類が作成できたら、メニューバーの「フォーマット」から「標準テキストにする」をクリックします。

標準テキストになったら、以下のように入力します。
VBoxManage startvm "仮想マシンの名前" --type headless
exit
「仮想マシンの名前」の部分は、先ほどターミナルでコマンドを実行したものと同じものに置き換えます。

入力できたら、どこかわかりやすい場所にファイルを保存します。
ファイルを保存する際、拡張子を「.command」に変更して保存します。

ファイルを保存できたら、保存したファイルをダブルクリックして開きます。
すると、おそらくこのような画面が表示されると思います。
これは、実行権限が付与されていないためです。
そのため、一旦「OK」をクリックして閉じます。

実行権限を付与するため、ターミナルを開いて以下のコマンドを入力してください(まだ実行はしないでください)。
chmod +x
最後に半角スペースが1つあるので、忘れずに入力します。
ここまで入力したら、先ほど保存したファイルをターミナルウィンドウにドラッグアンドドロップします。
すると、ファイルパスが自動的に入力されるので、コマンドを実行します。
正しくコマンドが実行されると、何も出力されずに実行が終了します。

もう一度、作成したファイルを開きます。すると、今度は正しく実行されるはずです。
一瞬、このようなウインドウが表示され、すぐに消えるはずです。
最初にターミナルでコマンドを実行した時と同じく、もう一度VirtualBoxを開くか、しばらくしてから「http://homeassistant.local:8123/」にアクセスして、仮想マシンが問題なく起動したことを確認します。
仮想マシンが正しく起動していれば問題ありません。
これで、ファイルを開くだけで仮想マシンを起動することができるようになりました。

最後に、作成したファイルをログイン項目に追加します。
記事執筆時点で最新のmacOS Sequoiaでは、「システム設定」の「一般」→「ログイン項目と機能拡張」を開いて、「ログイン時に開く」のリストに作成したファイルをドラッグアンドドロップします。
これで、macOSにログインした際に、仮想マシンが自動的に起動するようになります。
そのMacをサーバー用としてしか使用しない場合、「自動ログイン」をオンにしておくと、電源を入れたら全自動で仮想マシンが起動するようになります(自動ログインを使うとセキュリティレベルが低下するためご注意ください)。
古いバージョンのmacOSを使用している場合は、設定の場所がわずかに異なる場合があります。
バージョン別の設定方法については、Appleのサポートドキュメントをご覧ください。
UTMの場合
まずはターミナルを使って、UTMをコマンドラインから操作するためのツール「utmctl」が使用できることを確認します。

ターミナルを開いたら、次のコマンドを入力して実行します。
utmctl --help
または
utmctl -h
コマンドを実行した際、「command not found: utmctl」と表示された場合は、次のコマンドを実行してutmctlを使用できるようにします。
sudo ln -sf /Applications/UTM.app/Contents/MacOS/utmctl /usr/local/bin/utmctl
コマンドを実行すると「Password: 」と表示されるので、Macの管理者パスワードを入力します(入力中は何も表示されませんがしっかり入力されています)。
コマンドが正しく実行されると、何も出力されずに実行が終了します。
その後、もう一度先ほどのコマンドを実行してみて、コマンドの使い方が表示されれば問題ありません。

次は、以下のコマンドを実行します。
utmctl list
コマンドを実行すると、UTMで作成された仮想マシンが一覧で表示されるので、Home Assistantサーバーの仮想マシンの名前を確認しておきます。
仮想マシンの名前が確認できたら、次のコマンドを実行して、仮想マシンが起動することを確認します。
utmctl start "仮想マシンの名前"
コマンドを実行したら、念のためもう一度以下のコマンドを実行して、仮想マシンの起動に成功したことを確認します。
utmctl list
「Status」が「stopped」から「started」に変化していれば、仮想マシンが起動したことを表しています。
UTMを開くか、しばらくしてから「http://homeassistant.local:8123/」にアクセスして、仮想マシンが問題なく起動したことを確認します。
問題なく起動したことを確認したら、もう一度仮想マシンをシャットダウンします。
次に、「テキストエディット」を開き、新規書類を作成します。

新規書類が作成できたら、メニューバーの「フォーマット」から「標準テキストにする」をクリックします。

標準テキストになったら、以下のように入力します。
utmctl start "仮想マシンの名前"
exit
「仮想マシンの名前」の部分は、先ほどターミナルでコマンドを実行したものと同じものに置き換えます。

入力できたら、どこかわかりやすい場所にファイルを保存します。
ファイルを保存する際、拡張子を「.command」に変更して保存します。

ファイルを保存できたら、保存したファイルをダブルクリックして開きます。
すると、おそらくこのような画面が表示されると思います。
これは、実行権限が付与されていないためです。
そのため、一旦「OK」をクリックして閉じます。

実行権限を付与するため、ターミナルを開いて以下のコマンドを入力してください(まだ実行はしないでください)。
chmod +x
最後に半角スペースが1つあるので、忘れずに入力します。
ここまで入力したら、先ほど保存したファイルをターミナルウィンドウにドラッグアンドドロップします。
すると、ファイルパスが自動的に入力されるので、コマンドを実行します。
正しくコマンドが実行されると、何も出力されずに実行が終了します。

もう一度、作成したファイルを開きます。すると、今度は正しく実行されるはずです。
一瞬、このようなウインドウが表示され、すぐに消えるはずです。
最初にターミナルでコマンドを実行した時と同じく、もう一度UTMを開くか、しばらくしてから「http://homeassistant.local:8123/」にアクセスして、仮想マシンが問題なく起動したことを確認します。
仮想マシンが正しく起動していれば問題ありません。
これで、ファイルを開くだけで仮想マシンを起動することができるようになりました。

最後に、作成したファイルをログイン項目に追加します。
記事執筆時点で最新のmacOS Sequoiaでは、「システム設定」の「一般」→「ログイン項目と機能拡張」を開いて、「ログイン時に開く」のリストに作成したファイルをドラッグアンドドロップします。
これで、macOSにログインした際に、仮想マシンが自動的に起動するようになります。
そのMacをサーバー用としてしか使用しない場合、「自動ログイン」をオンにしておくと、電源を入れたら全自動で仮想マシンが起動するようになります(自動ログインを使うとセキュリティレベルが低下するためご注意ください)。
古いバージョンのmacOSを使用している場合は、設定の場所がわずかに異なる場合があります。
バージョン別の設定方法については、Appleのサポートドキュメントをご覧ください。
Macを再起動する際の注意
仮想マシンを起動した状態でMacを再起動する場合、先に仮想マシンの電源を切る必要があります。
仮想マシンの電源を切るには、Home Assistantの「設定」を開き、右上の「…」から「Home Assistantを再起動」をクリックします。
すると、再起動に関するメニューが表示されるため、「詳細オプション」を開き、「システムのシャットダウン」をクリックすると仮想マシンの電源を切ることができます(電源が切れるまで少し時間がかかる場合があります)。
仮想マシンの電源を切らずにMacを再起動すると、仮想マシンを強制終了することになってしまいます。
これは、パソコンの電源ボタンを長押しして強制終了しているのと同じで、仮想マシンの中でデータの読み書きが行われている最中に強制終了されてしまうと、データが破損してしまう場合があります。
特にHome Assistantは、スマートデバイス情報の履歴を定期的に読み書きしているため、データベースが破損してしまう場合もあります。
最悪の場合、仮想マシンが起動できなくなってしまう可能性もありますので、Macを再起動したり電源を切ったりする際は、先に仮想マシンの電源を切ることを忘れないようにしましょう。
さいごに
今回は、MacをHome Assistantサーバーとして使用する方法と、Home Assistantの基本的な設定方法についてご紹介しました。
Home Assistantは非常に高機能で使いやすく、個人的には最高のホームサーバー用OSではないかと思っています。
とても使いやすいバックアップ機能も内蔵されており、万が一の事態が発生した場合に対処しやすいのもうれしいポイントです。
この記事では解説しませんでしたが、Home Assistantサーバーを外部に公開することで、外出先からでもHome Assistantにアクセスすることができ、スマートデバイスを制御することができます。
多くのプラットフォームとは異なり、Home Assistant自体が「ハブ」として機能するため、追加のハードウェアを用意しなくてもオートメーションを使ったり、デバイスを細かく制御したりできるため、手軽に始められて末永く使い続けることができます。
ちなみに、Home Assistantは毎月大型アップデートが配信されており、様々な機能が追加されます。
そのため、現時点では接続できないデバイスでも、今後のアップデートによって対応する可能性もあります。
また、大型アップデートの間にも何度かマイナーアップデートが配信され、様々なバグ修正や改善も行われています。
定期的なアップデートが配信され続けることも、今後も安心して使い続けられる点の1つです。
別のスマートホームプラットフォームを使っている方や、まだHome Assistantを使ったことがない方は、この機会にぜひ使ってみてはいかがでしょうか。
最後まで読んでくださりありがとうございました。それでは、また!
コメントはこちらから!
記事について気になるところや質問、ご指摘など、以下のコメント欄から気軽にコメントしていただけるとうれしいです!
※コメントの投稿には、無料で作成できるGitHubアカウントが必要です。コメント欄が表示されない場合はページを再読み込みしてみてください。
コメント欄ではMarkdown記法が使用でき、画像を挿入することもできます。ここで使用できるMarkdown記法の詳しい使い方は、入力欄の右下にあるアイコンをクリックすることで確認することができます。