育児×IoT HomeAssistantでスマートホームコントローラを作ってみる[1/6]

はじめに

6ヶ月間の育児休業を取って、育児&家事に専念しているnaka-kazzです。今年になって、スマートリモコン・各種IoTセンサー・スマートスピーカが手軽に手に入るようになってきて「2019年はスマートホーム元年」だったかなーと今年一年を振り返りながら記事を書いています。
ただ、家の中にIoT機器が増えてくると、スマートリモコンを操作する時はスマホのリモコンアプリ、太陽光発電の発電状況を見るにはHEMSのパネルなど・・・情報や操作がバラバラで使いづらいなと感じています。そこで、今回は家の中のIoT機器を一元管理できるようにしてみたいと思います。

やりたいこと

最終的にやりたいことは、家の中のセンサー情報を一括で表示したり、各種家電の操作を行える「かっこいいスマートホームコントローラ」を作っていきたいと思います。今回は、このスマートホームコントローラを、Home Assistant(Hass.io)で作っていきます。

図1.png
図2.png
図3.png

実現に向けた連載

やりたいことを実現するために、以下のように少しずつに記事を書いていきます(予定)。
 1回目:Home Assistantのインストール   ←この記事
 2回目:アドインのインストール
 3回目:温度・湿度・照度センサーの追加
 4回目:家電操作スイッチの追加
 5回目:コントロールパネルの設定
 6回目:Picture Elementsの設定

1回目:Home Assistantのインストール

スマートホームコントローラのサーバとなるHome Assistant(Hass.io)をインストールしていきます。今回は、Home Assistantを既存のVMware ESXiにインストールしていきます。ちなみに、Home Assistantはラズベリーパイでも動作するようで、Home AssistantのWebサイトには、ラズベリーパイへのインストール方法中心で書かれています。

Home Assistantのダウンロードと準備

1.VMDKファイルのダウンロード

まずは、Home Assistantのサイト(https://www.home-assistant.io)にアクセスし、画面上部の[Getting started]のページを開き、SOFTWARE REQUIREMENTSの欄にある[your devices]のリンクから、VMDK形式のファイルをダウンロードします。ダウンロードされたファイルはgzで圧縮されているので、ダウンロードが完了したら解凍しておきましょう(Macでは自動解凍されます)。
図4.png

2.ESXi Webコンソールへのアクセス

次に既存のESXiのWebコンソールにアクセスし、左メニューの「ストレージ」を開き、「データストアブラウザ」を開きます。
図5.png

3.ESXiデータストアへのアップロード

データストアブラウザの画面で、「HomeAssistant」ディレクトリを作成し、その中に先ほどダウンロードしたHomeAssistantのVMDKファイルをアップロードします。
図6.png

4.VMDKファイルの変換

ダウンロードしたVMDKファイルは、VMWare Player用のVMDKファイルになっているそうなのでESXi用に変換が必要です(私はここでハマりました。日本語のサイト無いですし・・・・)。このため、ESXiホストにSSHでログインし、以下のコマンドでVMDKファイルをESXi用に変換します。

コマンド
#cd /vmfs/volumes/datastore1/HomeAssistant/
#vmkfstools -i hassos_ova-2.12.vmdk hassos_esxi-2.12.vmdk 
 Destination disk format: VMFS zeroedthick
 Cloning disk 'hassos_ova-2.12.vmdk'...
 Clone: 100% done.
#

ちなみにESXiホストにSSHログインできない場合は、ESXi Webコンソールの「ホスト」→「管理」から「TSM-SSH」が実行中になっているか確認しましょう。

2.仮想マシンの作成

それでは、変換したVMDKファイルをベースにESXi上に仮想マシンを作成していきましょう。

1.新規仮想マシンの作成画面の表示

ESXi Webコンソールの左メニューの「仮想マシン」を選択し、画面上部の「仮想マシンの作成/登録」をクリックします。
図7.png

2.作成タイプの選択

作成タイプの選択画面では「新規仮想マシンの作成」を選択し、「次へ」をクリックします。VMDKファイルがあるので「既存の仮想マシンの登録」とも迷いますが「新規仮想マシンの作成」を選択しましょう。
図8.png

3.名前とゲストOSの選択

名前とゲストOSの選択画面では、以下のように設定します。
 ・名前:HomeAssistant ※なんでもOKです
 ・互換性:ESXi 6.7仮想マシン
 ・ゲストOSファミリ:Linux
 ・ゲストOSのバージョン:その他のLinux(64ビット)

図9.png

4.ストレージの選択

ストレージの選択画面では、何も変更せず「次へ」をクリックします。アップロードしたVMDKファイルを選択したくなりますが、まだ我慢です。
図10.png

5.設定のカスタマイズ(ハードディスクの削除)

設定のカスタマイズ画面が開いたら、「ハードディスク1」欄の右にある❌ボタンを押してハードディスクを削除します。
図11.png

6.設定のカスタマイズ(ハードディスクの追加)

次に「ハードディスクの追加」ボタンをクリックし、「既存のハードディスク」を選択します。
図12.png

7.設定のカスタマイズ(VMDKファイルの選択)

データストアブラウザが開きますので、先ほど変換したVMDKファイルを選択し、「選択」ボタンをクリックします。
図13.png

8.設定のカスタマイズ(コントローラの変更)

設定のカスタマイズの画面に戻ったら、新規ハードディスクの「コントローラの種類」を「IDEコントローラ0」「マスター」に変更します。
図14.png

9.設定のカスタマイズ(仮想マシンオプションの変更)

次に「仮想マシンオプション」のボタンをクリックします。
図15.png

10.設定のカスタマイズ(起動オプションの変更)

仮想マシンオプションの画面の「起動オプション」の中にある、「ファームウェア」を「EFI」に変更して、「次へ」ボタンをクリックします。私は、これが分からなくて1日を無駄にしました(泣)。
図16.png

11.設定の確認

設定の確認画面が表示されたら「完了」ボタンをクリックします。
図17.png

12.仮想マシンの起動

画面がWebコンソールの画面に戻りますので、新しく作成した仮想マシンを起動してみましょう。
図18.png

13.起動確認

「パワーオン」ボタンをクリックして、しばらく待つとHomeAssistantが起動します。画面がエラーメッセージで終わっていないか確認しましょう。
図19.png

14.Home Assistantへアクセス

それでは、Webブラウザで「http://<IPアドレス>:8123/」へアクセスしてみましょう!以下のような画面が表示されれば、HomeAssistantが正しく起動しています!ちなみに、IPアドレスは、DHCPサーバ側で調べるのが簡単かと思います。
図20.png

3.HomeAssistantの初期設定

それでは、HomeAssistantの初期設定をしていきましょう。

1.アカウントの作成

アカウントの作成画面で、必要事項を入力して「CREATE ACCOUNT」ボタンをクリックします。
図21.png

2.家の名前・場所の設定

次に、家の名前や場所を設定する画面が表示されるので、適宜入力して「NEXT」ボタンをクリックします。ここでの設定情報は、天気予報の取得に使われるようです。
図22.png

3.デバイスの検出

同じネットワーク内にデバイスがあると、この画面からデバイスの追加が可能です。特に何もなければ「FINISH」ボタンをクリックしましょう。
図23.png

4.トップ画面の表示

お疲れ様でした。以下のような、HomeAssistantのトップ画面が表示されれば、初期設定は完了です。
図24.png

おわりに

今回はHomeAssistantをESXiにインストールするところまでをやってみました。次回は、HomeAssistantにアドオンを追加して、各種センサーやスイッチを設定する準備をしたいと思います。

連載記事
 1回目:Home Assistantのインストール
 2回目:アドインのインストール    ←次回はこれ
 3回目:温度・湿度・照度センサーの追加
 4回目:家電操作スイッチの追加
 5回目:コントロールパネルの設定
 6回目:Picture Elementsの設定

育児×IoTスマートホームの関連記事

Alexaをしゃべらせる(remote2 v3.3編)
自分のGoogleカレンダーにJWTを使って予定を追加してみる
Alexaに通知を送ってみる(Node-red編)
Node-redでスマートハウス-LG製テレビを操作してみる
Node-redでスマートハウス-Gravioで子供用プリキュアボタン
育児×IoT Gravioでミルク&オムツ交換記録をGoogleカレンダにつけてみる

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account