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

スマートホーム
スポンサーリンク
このエントリーをはてなブックマークに追加

はじめに

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

やりたいこと

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

実現に向けた連載

やりたいことを実現するために、以下のように少しずつに記事を書いていきます(予定)。
 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のダウンロードと準備

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

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

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

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

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

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

④VMDKファイルの変換

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

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

ESXi仮想マシンの作成

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

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

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

②作成タイプの選択

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

③名前とゲストOSの選択

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

④ストレージの選択

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

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

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

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

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

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

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

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

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

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

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

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

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

11.設定の確認

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

HomeAssistantの起動

それでは、作成した仮想マシンを使ってHomeAssistantを起動してみましょう。

①仮想マシンの起動

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

②起動確認

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

③Home Assistantへアクセス

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

HomeAssistantの初期設定

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

①アカウントの作成

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

②家の名前・場所の設定

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

③デバイスの検出

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

④トップ画面の表示

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

おわりに

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

連載記事

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

関連記事

Alexaをしゃべらせる(Node-red編)
やりたいことNode-redでnode-red-contrib-amazon-echoやnode-red-contrib-alexa-home-skillのパレットを使うと、Alexaに音声で話しかけることをトリガーにNode-redの処理
自分のGoogleカレンダーにJWTを使って予定を追加してみる
今回は、JWT(JSON Web Token)を使って、ブラウザからのログイン操作なしで特定のGoogleカレンダーに予定を追加することをやってみます。
Alexaに通知を送る(Node-red編)
今回は、Alexaに「通知」を送ることをやってみたいと思います。ちなみに、この通知を送る機能は「プロアクティブイベントAPI」という物を利用しますが、少々実装が面倒なのが難点です。
Node-redでスマートハウス-LG製テレビを操作してみる(1/5)
はじめに我が家にも有機ELテレビがやってきました。国産メーカのテレビも、有機ELパネルはほとんどがLG製のパネルを利用しているらしく「同じパネルなら安い方がいいんじゃない?」という事でOLED 55C7Pを購入!このLG製のテレビ、内部はw
Node-redでスマートハウス-Gravioで子供用プリキュアボタン
今回は、Gravioのボタンセンサーを使って、2歳の子供でもテレビのアプリをyoutubeにして、プリキュアの動画を再生できる「プリキュアボタン」を作りたいと思います。
Gravioでミルク&オムツ交換記録をGoogleカレンダにつけてみる
子育てをしていると両手が塞がっていたり、手が汚かったりすることが本当多いんです。なので、スマホを手に取って、ロック解除して、記録アプリを開いて、時間・種類などをいちいち入力することはホント面倒です。今回は「赤ちゃんボタン」を作って、ボタンを押すだけでミルク&おむつ交換の記録がワンプッシュで記録することをやってみます。
Node-redだけで簡易Alexaアプリを作ってみる「アレクサ、雨雲きてる?」
今回はASKを使わずNode-redだけを使って、自分用の簡易Alexaアプリを作ることをやってみたいと思います。
記事が参考になったら、ブログランキングに協力(クリック)して貰えると嬉しいです。
スポンサーリンク
naka-kazz

昼間はIT企業に勤めてますが、プライベートでは「育児×家事×IoT」をテーマに家のスマートホーム化に取り組んでいます。Androidアプリも作っているので使って下さい。質問・コメントは、↓のコメント蘭でもFacebookメッセンジャーでもどちらでも大丈夫です。
E-mail:naka.kazz.d@gmail.com

naka-kazzをフォローする
スマートホーム 開発者向け
naka-kazzをフォローする
育児×家事×IoT

コメント

タイトルとURLをコピーしました