Sympapaのスマートホーム日記

スマートなんとかはスマートじゃない方法でつくられている

Home Assistant: Echonet liteカスタムインテグレーションを導入してSHARPのエアコンを同期する

Sympapaです。

私の部屋ではSHARP製のエアコンAY-L22S-Wを使っています。

2020年に購入したもので白物家電は何でもいい派だったのでグレードは下の方のやつですが、プラズマクラスターに惹かれたのと当時私の中の第1次スマートホームブームが来ていたのですが下の方のグレードなのに標準でWi-Fi対応したのでこれを選びました。後付けのWi-Fiアダプタって結構高いんですよねぇ。
Wi-Fi対応モデルが欲しかったわけですが当時はHome Assistantなどの本格的(?)スマートホームとは程遠い世界に居て、ただGoogle Homeと連携出来れば良い感じだったんです。
しかし日本の白物家電のIoT化は使い勝手がもうひとつなんですよね。
SHARPのエアコンを操作するアプリ”CoCoRo Air"の出来はまずまずだと思うのですが致命的なのはGoogle Homeからの音声操作でした。
OK Google! エアコンをつけて」と言うと3~4秒後くらいに「はい。〇〇のエアコンをオンにしてもよろしいですか?」と聞かれて「はい」と答えると2~3秒後くらいにやっとエアコンがオンになるという仕様でした。誤動作防止なんでしょうが、いちいちオンにしても良いかを聞かれて「はい」と答えオンになるまで何秒もかかるのはちっともスマートじゃありません。
なので結局、Google Homeとの連携はNature Remoを使ったIR信号による操作で行い(Nature Remoだといちいちオンにして良いか聞かれない)、外出先からの操作や温度確認などは”CoCoRo Air"アプリで実行するというスタイルで運用していました。


Home Assistantを導入してからはHome Assistantと連携したかったので、Nature Remoのカスタムインテグレーションを導入し使っていました。
これだとHome Assistantからエアコンを操作できて、更にGoogle Homeからエアコンとして認識されるのでGoogle Homeからの音声操作にも対応できました。


だがしかしです。エアコン付属の赤外線リモコンで実行した操作はHome Assistantと同期されないという、スマートホームマニアなら誰もが一度はぶち当たるであろう壁がありました。
それについては諦めていたのですが、今まで興味の無かったHEMSやEchonet Liteのことを調べていたらHome AssistantにEchonet Liteのカスタムインテグレーションが存在することを知りました。
そしてWi-Fi対応のエアコンでもEchonet Liteに対応させるにはオプションが必要だろうと思い込んでいましたが、私の部屋のSHARP製エアコンAY-L22S-WはEchonet Liteに対応していることが判りました。
そんなワケでHome AssistantにEchonet liteのカスタムインテグレーションを導入したらHome Assistantからエアコンを操作したり状態の取得が出来るようになったよというのが今回のお話です。

■カスタムインテグレーション: echonetlite_homeassistant

github.com
定かではありませんがこのカスタムインテグレーションを開発されているのは外国人さんのようです。Echonet Liteは日本のガラパゴス規格だと思い込んでいましたが海外でも使用されているのかな?日本在住の方かもしれませんが。
Echonet liteのことは高くつく日本の規格くらいに思っていて今まで何も調べてもいなかったので、このカスタムインテグレーションを使って何が出来るのかはさっぱりチンプンカンプンですが、説明には"This component will set up the climate, fan, sensor and select platforms."と書かれていてエアコンには対応していそうです。そして"This custom component makes use of the 'pychonet' Python library also written by yours truly."と書かれていて「自分でPython libraryを書けば対応デバイスを追加できるよ」ってことのようなので期待に胸が膨らみますがPythonとかチンプンカンプンです(汗)
まぁしかしエアコンだけでも同期できれば歓喜ですね。
そして「三菱製 MAC-568IF-E WiFiアダプターを使用し他のアダプター(他のベンダー)も機能する可能性がありますがECHONETliteプロトコルをサポートしている必要があります。」と書かれています。
MAC-568IF-E WiFiアダプターはググると三菱のエアコン用Wi-Fiアダプターのようで海外で販売されているもののようですね。
動作が確認されている機種の中にSHARP製のエアコンが書かれているので期待が膨らみました。

■導入する

HACSで"Echonet"で検索すると出てくるのですが私の環境では何故かエラーが発生し自動ではインストールされませんでした。
なので手動でインストールしました。

1) ここへアクセスします。

2) "Code"を押し"Download ZIP"を押してZIPファイルをダウンロードします。

3) ダウンロードしたZIPファイルを解凍します。

4) Home Assistantの"configuration/custom_components"の中にフォルダ"echonetlite”を作成します。

5) さっきダウンロードして解凍したフォルダの”custom_components/echonetlite/"の中に入っているファイルを全て、Home Assistantの"configuration/custom_components/echonetlite"の中へコピーします。

6) Home Assistantを再起動します。

7) Home Assistantの[設定]>[インテグレーション]を開き、[+ インテグレーションを追加]ボタンを押します。

8) "echonet"で検索すると”Echonet lite”が見つかるので選びます。

9) 対象となるデバイスIPアドレスとDescriptionを問うダイヤログが表示されます。
今回の場合、エアコンのIPアドレス(ローカル)と適当なエアコンの名前を入力しました。


10) 無事登録出来た場合はインストール済インテグレーションの画面にこんな風に追加されます。


11) 基本的にエアコンは自動で構成されるようですが、こんなオプション設定画面があります。

■使ってみる

Home Assistantから運転モード、温度設定、風量設定などは普通にコントロールできて、エアコン付属の赤外線リモコンから操作した場合もHome Assistantと同期されました。
赤外線リモコンの操作がHome Assistantに反映されるまでに数十秒かかる時がありますがSHARP純正アプリ”CoCoRo Air"への反映も同様なので、リモコン操作を行ってもエアコン側からの発信は数十秒に1回しか実行しないというエアコン側の仕様なのかもしれません。Home Assistantから操作した場合の遅延は無いのでまぁ問題無いですけどね。
あと、エアコン稼働後に赤外線リモコンでオフにすると自動で内部清浄モードに入るよう設定しているのですが、内部清浄モードに入ると 'other'というモードをステータスとして返すらしく、このモードにカスタムコンポーネントが対応していないようでログにエラーが記録されます。
エラーが出ても内部清浄モードの間はエアコンはオフとして認識されているようなので問題はなさそうです。

消費電力、外気温、室温の取得も出来ます。湿度が「利用できません」なのは安物のエアコンだから湿度計は内臓してないのかなぁ。。。
コントロールってところは良くわかりません(汗

■まとめ

今回は、Home AssistantにEchonet Liteのカスタムインテグレーションをインストールしたら、私の部屋のSHARPWi-Fi対応エアコンを同期できたというお話でした。Home Assistantとエアコンの同期はやりたかったけれどハードルが高かったので、このカスタムインテグレーションで簡単に同期出来たのはかなり嬉しい出来事でした(^^

それでは。