みなさん、家の自動化はしてますか?どうもねじわさです。
今回はスマートホームのあれこれを Homebridge に移行したレポです。
ハードについてはマジで全く分からん人なので複数の会社のスマートホーム機器を横断して使っています。現在使用しているのはこの 2 つです:
この 2 つは本当に使いやすいし柔軟性がありおすすめできます。
システムについては各機器の API を使用した上で全て自作していました。nzws/room-console
基本的な操作はブラウザから行います。スマホからのアクセスが毎回ブラウザを開かないといけなかったので PWA にしてもよかったな、とは思いました。
また、Webhook API を設けて、IFTTT 経由で Google アシスタントと連携させることで、例えば「全ての機器を消す」といった大まかな操作をできるようにも作りました。
あともう一つ自動操作として Discord インテグレーションを内部で設けていました。
これは Discord の現在のステータスを検出して今 PC を使用しているかどうか確認し、退席中であれば自動で電気を暗くする、みたいな設定にしていて、これはとても便利でした。
ブラウザを開かないといけない点と若干調子が悪くなる点があったのですが、概ね満足してました。
今回、ハードは変えずにシステムの部分を自作のものから Homebridge に移行しました。 理由としては、
という点から使ってみたくなり移行しました。
Homebridgeは Apple Homekit に対応していないスマートホームを無理やりコミュニティで対応させようぜ!的なプロジェクトです(多分)。
Homebridge 自体は Homekit と連携するためのパイプで、基本的に自分の持っているハードをコミュニティが作成したプラグインを入れまくってどんどん自分の Homebridge を大きくしていく感じです。
Homebridge 自体は Apple のスマートホームのエコシステム「Homekit」に対応するためのものですが、Google の Smart Home platform と API の設計が似ているため、
Homebridge-gshというプラグインで Google Home 上でも動かせるようになります。要するに Homebridge 最強。(ちなみに Alexa も対応できるらしいです、草)
使わせて頂いたもの:
作ったもの:
これは Homebridge というより Homebridge-gsh と Google Smart Home platform の問題かもしれない(Homekit はローカルであるため感じない)のですが、Android からの情報読み込みが若干もたつきを感じました。
まあでもサーバーでなんとかなるかもしれないのでいずれ改善したいです。
あとまあ何にも限らず今ある IoT 機器大体問題になってくる話なのですが、その会社のサーバーに依存している以上 落ちたら何もできなくなりますし潰れても何もできなくなります。
定期的に思うのですが買い切りの端末でどうやって維持費と人件費回収してるんでしょう。
ちょうどこの記事書いてるあたりで Nature Remo と所有はしてませんが SwitchBot のサーバーが落ちてみんな夜中に電気が消せなかったりしてました。
(これの根本的原因は AWS の大規模障害です。ちなみに AWS 内部でも該当リージョンを使用していたため、サービスステータスの更新ができなかったり色々大変だったらしいです)
で、これを防ぐためにどうするべきかと言うと外の API を経由せずにローカル通信もできるようにすべきです。
ちなみに Homekit はローカル通信を前提としていて、基本的に家の中にいれば常に操作できるのでこの設計はとても良いと思いました。
(HomePod や Apple TV、iPad など据え置き型端末がありそれらをハブとする事で初めてリモートで使えるようになります。)
で、Nature Remo は実はローカル API が存在するため、同じネットワーク内にいる Homebridge なら直接ローカル API を触った方が応答も早くなるし良いと思いました。
うちの PC がピカピカ光るようになりました(ケースを NZXT H510 Elite に変えました)