スマートホームを実現する「Home Assistant」 〜Google HomeやAmazon Echoとの連携も

2018年5月22日Home AssistantHome Assistant, スマートホーム

ということで、スマートホームを実現する統合アプリ「Home Assistant」を導入していこう。

前回の記事(Home Assistantの機能紹介)

Home Assistantで何が出来るのかは、下記の記事を参考としていただきたい。

Home Assistant(hass.io)でスマートホーム(Siri, Homekit, Google Home対応)を...
最近スマートホームがにわかに注目を集めているが、AppleもGoogleも「プラットホーム依存」をすすめており、ひとつの機種で全てに対応している事例は珍しい(国内ではPhili

インストールするのは「hass.io」

前回の記事でも記載した通り、Home Assistantにはスタンドアロン版の「Home Assistant」と、アドオンなどの追加が可能となっている「Hass.io」が存在している。

「Hass.io」を導入すると、アドオンとして「Home Bridge」(AppleのHomekitに登録することが出来る)や「Google Assistant」を導入することができるため、非常に便利だ。

下記のページが公式サイトである。

Hass.io
Manage your Home Assistant and custom add-ons.

「Hass.io」をインストールする

公式なインストール手順は下記に記載されている。

今回はUbuntuに「Hass.io」をインストールすることにする。従って、「Alternative: install on generic Linux server」(Linuxサーバーにインストールする)に従ってインストールをすすめていく。 なお、Raspberry PiやIntelのNICでも同じ手順でインストールすることが出来る模様。

この「Linuxサーバーへのインストール」は、Dockerイメージで構成されている。従ってインストールは非常にシンプルだ。

必要なモジュールのインストール

以下のモジュールが必要となるので、事前にインストールをする。

  • docker
  • bash
  • socat
  • jq
  • curl
  • avahi-daemon
  • dbus-daemon

aptで一括インストール。

apt-get install -y docker bash socat jq curl avahi-daemon dbus-daemon

Hass.ioをインストールする

基本的には、公式サイトからDockerイメージをダウンロードして、Dockerのコンテナが起動する設定を自動的に行ってくれる。
root権限で適当なディレクトリに遷移し、下記のコマンドを打ち込む。

curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s

インストールが自動的に行われる。

Dockerで起動しているかどうかを確認する

Hass.ioのインストールが完了すると、Dockerで自動的に「hassio_supervisor」と「homeassistant」が起動しているはずだ。
下記のコマンドで確認することが出来る。

docker ps

以下のような形で、STATUSが起動中になっていれば成功だ。

CONTAINER ID        IMAGE                                        COMMAND                  CREATED             STATUS              PORTS                                            NAMES
990f991ac03e        homeassistant/qemux86-64-homeassistant       "/usr/bin/entry.sh..."   46 hours ago        Up 6 hours                                                           homeassistant
15d3e64255ff        homeassistant/amd64-hassio-supervisor        "/usr/bin/entry.sh..."   47 hours ago        Up 46 hours                                                          hassio_supervisor

ブラウザでアクセスする

標準では、Home Assistantは8123ポートで動作している。http://[サーバーのアドレス]:8123にアクセスすれば、Home Assistantの画面を表示することが出来るだろう。

ただし、パスワードを設定しなくてはならない。Dockerのコンテナに入り、configファイルをいじくることでHome Asisstantのパスワードを設定することが出来る。

パスワードを設定する

まず「Homeassistant」のイメージに入る。

docker exec -it home assistant /bin/bash

その後、/config/configuration.yamlを編集する。

vi /config/configration.yaml 

以下のように設定すれば大丈夫だ。ちなみに、このあとconfiguration.yamlはいやというほどいじくることになるのでご承知を。

http:                     
 api_password: [パスワード] 

おそらく、デフォルトで「api_password」なる部分があるはずなので、この部分にパスワードを設定すれば問題ない。
パスワードを反映するために、home assistantを再起動する。本当はやってはいけないのだが、dockerのコンテナごと再起動をする。

docker restart homeassistant

これで、Home Assistantのインストールが完了した。

DockerのDNSに注意

一部の環境では、DockerのDNSがうまく設定されていないことがある。具体的には、上記の手順でHome AssistantのDockerコンテナに入った際、nslookupが聞かない場合にはその状態になっている。
その場合、 /etc/default/docker を開き、次の設定を追加する。

docker_OPTS="--dns [DNSサーバーのアドレス]"

なお、ここでパブリックDNSを設定したくなるが、 Public DNSを設定するといくつかの機能が使えなくなる ため、ルーターのアドレスなどを指定することが望ましい。また、上記の手順でうまく行かない場合は下記サイトを参考とすること。

systemd起動のDockerでdnsオプションを有効にする - Qiita
# はじめにProxy配下のUbuntu上で docker build の際にdns設定で困ってしまいました。Dockerfileに書かれたyumの最中に、外部のネットワークに到達できずに止まってしまいます。proxy設定はbui...

次回

次回はhttpsに対応する手順と、具体的にいくつかセンサーを追加してみる手順を掲載する予定。

センサーの追加手順

書いた。

【スマートホーム】Home Assistantで電気や暖房をPC/スマホ/タブレットから操作する
スマートリモコン(スマートフォンやPCから操作することが出来る万能リモコン)はいくつか発表されているが、私は昔から「iRemocon Wi-Fi」を使用している。今は「nature
【スマートホーム】iRemocon Wi-FiでHome Assistant用に照度・温度・湿度を取得する
iRemocon Wi-Fiには、湿度・照度・温度のセンサーが付いている。これらをHome Assistantに連携すると、「一定以下の湿度になったときにアラートをする」「空調を

その他Home Assistantと連携する系の記事たち

Xiaomi Smart Home

【スマートホーム】Xiaomi mi Smart HomeをHome Assistantと連携させる
先日の記事では、Xiaomi Mi Smart Homeを単独で使用する方法に関してレビューをした。https://webnetforce.net/xiaomi-mi-smar

Xiaomi Gateway

【スマートホーム】Home Assistantで「Xiaomi Gateway」を操作する
前回の記事で、「Xiaomi Gateway」はHome Assistantと使用する場合Zigbeeで接続されるソケットとネットワークを媒介する以外の役割を持っていないような書き

ホームオートメーション

【スマートホーム】Raspberry PiとHome Assistantで暖房や冷房など空調を自動制御
例えば、「19度以下になったら自動的に暖房をオンにする」「24度以上になったら自動的に暖房をオフにする」といった機能があったら、どんなに素敵だろうか。とくに朝起きるとき、常に暖房
【スマートホーム】Home Assistantで設定温度になったら自動的に冷房オン&タイマ...
Home Assistantを用いて、設定温度になったら自動的に冷房をオンにし、さらに設定温度を上回るもしくは指定時間経過した場合に自動的に冷房をオフにする、というオートメーション
【スマートホーム】スマート加湿器を湿度センサー・スマートコンセント・Kaz VICKS...
記事通りの内容。加湿器は様々な製品が販売されているが、具体的に「湿度を何度まで上げたい」という形で設定出来る製品は(調べた限り)存在しない。また、いわゆる「自動設定」に対応している

※Home Assistant特集はこちらから。

執筆者紹介

Thir

最新のガジェットを購入してはレビューする、を繰り返しています。このブログでは、ガジェットの紹介のほか、各種サーバーやスマートホームの構築などを提供しています。最近はYouTubeでもレビュー動画やVlogをあげています。(プロフィール