快適エアリーのゾーンごとの状態をECHONET Lite経由で取得・設定する

Programming

セキスイハイムの全館空調である快適エアリーは、3つあるゾーンそれぞれに個別の風量や温度を設定することができます。

ECHONET Liteではエアコンの搭載プロパティにゾーンのような考え方は採り入れられていないため普通では情報を取得できないのですが、なんとか取得できないか試行錯誤してみました。

ニチコンの蓄電池を解析した記事はこちら:

スポンサーリンク

スマホアプリの通信内容を覗く

快適エアリーには、(正直使い勝手が良いとは言えませんが)公式のスマホアプリが存在します。

iOS版はこちらです。

‎快適エアリーホームリモコン
‎アプリに快適エアリーが表示されない場合はアプリやルータの再起動及び下記を確認下さい。・スマホと快適エアリーが同じルータに接続・アプリ「設定」画面のIPアドレスが「192.168.~」<リモコン機能について>ご自宅内で、お手持ちのスマートフォンから快適エアリーの設定・操作が簡単に行えます。【連携する快適エアリー機種】快適エアリーのリモコン型番(リモコンのふたを開けた右下に記載):CMR-2605、2606、2607

LAN内からであれば快適エアリーに対してコマンドを送ることができるので、コマンド内容を覗き見してみることにします。

iPhoneの通信をWiresharkで見る

以下の記事を参考に、MacとiPhoneを接続して通信をキャプチャします。

Macに接続したiPhoneのパケットをキャプチャする(Wireshark) - Qiita
iOSアプリを開発していると、実機からの通信を見たいときなんかがあります。そんな時に、実機のパケットを見れると便利なので方法をまとめておきます。まずiPhone(iPadでも良いですが)をMac…

そして、快適エアリーが生のECHONET Liteなコマンドを流していることをうっすら期待して、WiresharkにECHONET Liteのプラグインをインストールします。

GitHub - mzyy94/ECHONET-Lite-dissector: ECHONET Lite プロトコル解析器 for Wireshark
ECHONET Lite プロトコル解析器 for Wireshark. Contribute to mzyy94/ECHONET-Lite-dissector development by creating an account on GitHub.

果たしてどうなるか…。

ゾーン2をOFFにして送信してみます。

お、ECHONET Liteのパケットが流れてますね!そして、赤く囲んだところにご注目。

ONにしてみます。

30だったところが31に変わっています。

ECHONET Liteのステータスでよくある形で、0x30がOFF、0x31がONというものを踏襲しているようです。

そして、次の1cは10進数に直すと28なので、ゾーン2の設定温度を表しているようです。

スポンサーリンク

解析結果

こんな感じでやっていくと、がっつり見たわけではないですが以下のような感じのようです。

EPC: 0xF1 ゾーンごとの運転状態

{ゾーン1運転状態 0x30/0x31 (off/on)} {ゾーン1設定温度} {ゾーン1風量 0x31/0x32/0x41(弱/強/自動)} {?} {?} {?} {おすすめタイマー状態 0x30/0x31 (off/on)}

これが、ゾーン2、ゾーン3と続く。

EPC: 0xFA ゾーンごとの室温

{ゾーン1室温} {ゾーン2室温} {ゾーン3室温} {?} {?} {外気温} {?}

他にもいろいろありそうですが、取り急ぎこんなところで。

スポンサーリンク

この情報を何に使うか?

Home Assistantにこの情報を読み込んで、ゾーンごとの室温を表示したり、ゾーンごとの設定温度変更などをできるようにしています。室温が高くなったら風量や設定温度を自動変更するなど、オートメーションもできます。

1Fの情報が快適エアリーのものです
スポンサーリンク

まとめ

快適エアリーがECHONET LiteでiPhoneとおしゃべりする内容を解析し、ゾーンごとの設定温度や室温、風量などが分かるようになりました。読み出すだけではなく設定もできるため、オートメーションにも活用できそうです。

蛇足

Home AssistantとECHONET Lite機器を連携する際、私はECHONETLite2MQTTを使わせてもらっているのですが、MRAをカスタマイズすることでコーディング0で上記の情報を読み込ませることができます。

MRA_customというディレクトリに以下のファイルを放り込むと、上記の内容がECHONETLite2MQTTでも読み込めるはずです(無保証です)

ECHONETLite-Custom-MRA/MRA_custom/0x0130.json at eee3944e05719c10f0837ff0a7a562d66c88ca45 · hiroaki0923/ECHONETLite-Custom-MRA
Contribute to hiroaki0923/ECHONETLite-Custom-MRA development by creating an account on GitHub.

コメント

  1. えるだ より:

    わたしも、快適エアリーリモコンの仕様変更に悩みこちらへ辿り着きました。
    Home Assistantの導入と、ECHONETLite2Mqttのインストールまではなんとかできたのですが、
    最後、Home Assistantのダッシュボードに三部屋分の設定を表示するのはどのようにするのでしょうか。
    お忙しいところ恐縮ですが、ぜひご教示ください。

  2. Hiroaki より:

    コメントありがとうございます!

    HomeAssistantのconfiguration.yamlで以下のような設定を入れる必要があります。
    以下はゾーン1の例です(MQTTのトピック名などは環境に合わせて変更いただく必要があります)。
    これは表示のみで、制御を行うにはさらに追加が必要です。私の方でも今試行錯誤中ですので、まとまり次第記事にします!

    mqtt:
    – climate:
    – name: “快適エアリー ゾーン1”
    unique_id: climate-kaiteki-airy-zone1
    modes:
    – “off”
    – “cool”
    – “heat”
    – “dry”
    – “fan_only”
    mode_state_template: >-
    {% if value_json.operationStatus == ‘false’ %}
    off
    {% elif value_json.operationMode == ‘cooling’ and value_json.kaitekiAiryZoneConfigs.zone1OperationStatus == ‘on’ %}
    cool
    {% elif value_json.operationMode == ‘heating’ and value_json.kaitekiAiryZoneConfigs.zone1OperationStatus == ‘on’ %}
    heat
    {% elif value_json.operationMode == ‘dehumidification’ and value_json.kaitekiAiryZoneConfigs.zone1OperationStatus == ‘on’ %}
    dry
    {% elif value_json.kaitekiAiryZoneConfigs.zone1OperationStatus == ‘keep’ %}
    fan_only
    {% else %}
    off
    {% endif %}
    mode_state_topic: “echonetlite2mqtt/elapi/v2/devices/kaiteki_airy/properties”
    temperature_state_template: >-
    {{ value_json.zone1TargetTemp }}
    temperature_state_topic: “echonetlite2mqtt/elapi/v2/devices/kaiteki_airy/properties/kaitekiAiryZoneConfigs”
    current_temperature_template: >-
    {{ value_json.zone1Temp }}
    current_temperature_topic: “echonetlite2mqtt/elapi/v2/devices/kaiteki_airy/properties/kaitekiAiryZoneTemps”

タイトルとURLをコピーしました