いままでiOS向けにHomebridgeの環境を整えていました。
が、iOSのHomeKit以外にHomebrigeとやりとりするようなアプリケーションがありません。
私のメインスマホはGalaxy S7 Edge。バリバリのAndroidです。
なので、家のIot機器(といっても、ほとんど電灯スイッチ)をAndroidからも扱えるようにしたい。
Linuxサーバー上動くホームオートメーションサーバーアプリケーションは、Domoticz、OpenHABなどがあるようですが、ここはGentooで簡単に動きそうなHome Assistantにしました。
「日本語がない」というのが欠点ですが、どうせそんなに難しい英語は使いません。
LivingとかLightとかですよ。中学生英語です。
そして、Home AssistantはAndroidアプリがあるのもイイ!!
LaymanにeBuildを置いてくれているツワモノもいるようですが、ここは公式に則って手動でインストールします。
と、言っても、環境を汚さないように/home配下に専用のホームディレクトリを作って、専用のユーザー権限で動かします。
やりかたは、ほぼこの公式ページです。
home-assistant.io
ただ、この公式ページは「初心者向け」って書いてあるのに、あんまり初心者向けじゃなさげ。
まずは、ユーザーとディレクトリを作成します。
gentoo ~ # useradd -m /home/homeassistant -G homeassistant homeassistant
(あるていど設定が終わってから、シェルの設定を/bin/falseにします。)
suでhomeassistatになります。
で、/home/homeassistantディレクトリで、公式ページに書かれているインストール作業を実施します。
まずは、Python3の仮想環境を構築します。ってもたったの1行。
gentoo ~ $ python3 -m venv /home/homeassistant
そしてその環境に入ります。といっても、ソースコマンドで環境変数が変わるだけかもしれませんが。
gentoo ~ $ cd /home/homeassistant
gentoo ~ $ source bin/activate
そして、homeassistantのインストールです。
gentoo ~ $ python3 -m pip install homeassistant
ここまで来れば、仮想環境を抜け出してかまいません。
というか、ルートにもどれば良いだけだと思います。
で、公式サイトに書いてある自動起動スクリプトは、Gentooには通用しないので、Gentooのお作法で、自分でインストールしたアプリケーションは/etc/local.d/の中に入れます。
/etc/local.d/homeassistant.start
#!/bin/sh sudo -u homeassistant -H /home/homeassistant/bin/hass --pid-file /home/homeassistant/hass.pid --daemon > /var/log/home-assistant.log 2>&1
/etc/local.d/homeassistant.stop
#!/bin/sh kill $(cat "/home/homeassistant/hass.pid") 2>&1
これで(自動)起動する準備は整いました。
でも、起動しても、うまくいって日の出日の入りとか、chromecastやUpnp(DLNA)デバイスが見つかる程度だと思います。
(それでも、自動でみつかるだけマシですが。)
/etc/init.d/localを再起動すると、起動するはずです。
gentoo ~ # /etc/init.d/local restart
で、ブラウザ(Firefox等のmozilla系がいいです。)で、8123番ポートにアクセスします。
http://サーバーのip:8123/
すみません。写真は設定し終わった後なので、いろんな電灯スイッチや情報が入っています。
このあたりの設定は次回に。