見出し画像

HomeAssistantにECHONET Lite対応機器を接続接続させる(1)


エコキュートの残り湯をHomeAssistantに表示させたい

現在、SwitchBotやnature製品をHomeAssistantを使って自宅のエアコンや照明を一元管理していますが、日本には以前からECHONET Liteと呼ばれる、家電をスマートホーム化する仕組みがあります。
エアコンやエコキュート・エネファームなどの給湯器、蓄電池などの家電製品をECHONET Liteという仕組みを使って一つにまとめることで、家庭で使うエネルギーをかしこく管理してしまおうという構想です。

ECHONETのパンフレットより

ところが、このような仕組みがあるにも関わらずスマートホーム化があまり進んでおらず、スマートホーム普及率はアメリカで43.6%に対して、日本では10.7%程度と言われています。

日本でのスマートホーム普及率が低いことはとりあえず置いといて、このECHONET Liteに対応した機器もHomeAssistantに取り込んで一元管理することができるという記事がありました。
自宅にはECHONET Liteに対応したエコキュートがありますので、それらの記事を参考にしながらECHONET Lite対応機器のスマート化をやってみようと思います。

構成を考える

もう少し簡単な方法もあるようですが、それぞれの機能の役割を勉強をしたいと思いましたので、次のような構成でいきたいと思います。

①mini PC

HomeAssistantを動かしている本体になります。
自宅のHomeAssistantはproxmoxという仮想環境が構築できるソフト上にHomeAssistantをインストールしています。
つまり、1台のパソコンの中に複数の仮想パソコンを作ることができます。
ECHONET Lite対応機器とHomeAssistantを繋ぐために追加でパソコンが必要になるため、mini PCに仮想パソコンを追加します。

現在使っているmini PCはSkyBarium製のmini PCを使っています。これを書いている時点で9ヶ月くらい電源入れっぱなしになりますが、特に問題なく順調に稼働しています。

②Ubuntu

mini PCに仮想パソコンを追加しますが、OSがないと、ただの箱となってしまいます。今回はUbuntuを使います。

UbuntuとはLinuxディストリビューションのひとつになります。
Linuxというと、UbuntuやDebian、RedHatなど色んな名前がついたLinuxが存在します。
いずれもLinuxというOS(カーネル)にたくさんのソフトウェアをくっつけて使いやすいようにしたものになります。

その中でもUbuntuは比較的有名であることと、無料で使えるということで、こちらを使おうと思います。

③Docker

Ubuntuの中にDockerという仮想環境を構築するアプリケーションを組み込みます。
Dockerも仮想環境を構築するためのソフトとなりますが、こちらはproxmoxみたいにもうひとつのパソコンを用意するというよりは、アプリケーションを簡単に構築するイメージになるかなと思います。

とあるアプリケーションを動かすためには、そのアプリを入れるだけでなく、WindowsやMacなどのOSの設定を変更したり、動かしたいアプリ以外のアプリを入れないといけない場合があります。そうなると、同じ状態のパソコンをもう1台作ったり、逆にアプリを入れる前の状態に戻すのが大変になります。

そこでDockerでは、アプリを入れる前にひとつの箱を用意して、その中にアプリを入れたり設定情報を入れて、動く状態になったアプリを一つの箱にまとめます。
(Dockerではコンテナと呼ばれています)

一つの箱にまとめた状態でアプリを動かすことができるため、別のパソコンに持って行ってもすぐに動かすことができます。また、その箱を捨てるだけでアプリを入れる前の状態に戻すこともできます。

④ECHONETLite2MQTT

ECHONETLite対応機器の通信規格をHomeAssistantでも理解できる通信規格に変換するためのアプリケーションです。

ECHONETLite通信規格そのままではHomeAssistantは理解できませんが、MQTTと呼ばれる通信規格であればHomeAssistantでも理解することができます。
そこで、ECHONETLite2MQTTではECHONETLite通信をMQTT通信に変換させて、ECHONETLite対応機器をHomeAssistantでも理解できる状態にします。

⑤Mosquitto(MQTTブローカー)

MQTT通信規格に対応した機器と機器を繋げるためのサーバーになります。

MQTTについて、仕組みを理解していませんでしたので、超ざっくりですが調べてみました。

MQTT通信の仕組みとして、機器と機器がお互いの存在を理解してやり取りはしていないそうです。
つまり、情報を送る側は、情報を受け取ってくれる機器がいるかどうか知らないし、受け取る側も、情報を送ってくる機器がいるかどうか知らない状態です。

まず最初に、情報を受け取る側はMQTTブローカーに接続したら、欲しい情報をMQTTブローカーに伝えます。そして、MQTTブローカーから情報が送られてくることを待ちます。

MQTTブローカーは情報を送ってくる機器から情報が送られてくると、この情報が欲しいと伝えてきた機器に対して情報を送ります。

こうして、受け取る側はMQTTブローカーから欲しかった情報を受け取ることができます。

このようにMQTTブローカーに対して情報を送信したり、欲しい情報だけをMQTTブローカーから受信することで機器間の情報をやり取りします。
MQTTブローカーであるMosquittoはHomeAssistantのアドオンとして提供されていますので、今回はこちらを使ってMQTTブローカーを構築しようと思います。

最後に

今回はECHONETLite対応機器をHomeAssistantに接続するために必要な構成を簡単にまとめてみました。
次回からはこの構成案をもとに、実際に構築してみようと思います。


この記事が気に入ったらサポートをしてみませんか?