Back to page

− Links

 Print 

Tasmota で三菱エアコンを完全コントロール :: XOOPS マニア

UsersWiki:nao-pon/blog/2021-02-07


RSS of nao-pon/blog[5]
Sun 7 Feb 2021
 
Table of contents
  • Tasmota で三菱エアコンを完全コントロール
    • 紆余曲折
    • そして、独自ビルド・・・
    • 結果・・・

Tasmota で三菱エアコンを完全コントロール anchor.png[6]

Tag: Tasmota[7] ESP8266[8] IR-Remote[9]

三菱エアコンは、esphome-mitsubishiheatpump[10] により CN105 ポートを利用して、シリアル通信によるコントロールが可能で、私も2種類の三菱エアコン MSZ-GV2519 と MSZ-GE2520 に取り付けて、問題無くコントロールしいる。

昨年の11月頃に新たに、MLZ-RX5017 を設置したので、また同じように組み込みましたが、通信規格が違うのか全く動かすことができませんでした。

そこで、SmartIR[11] を利用して、赤外線リモコン RS-WFIREX4 経由でコントロールしていた。しかし、少し問題が・・・。

運転自体の ON/OFF は、HA端子から信号を取って反映できていたが、付属のリモコンで温度を変えたり運転モードを変えたりした時に、HomeAssistant 側でその変更を感知することができない問題があった。

そこで、今度は Tasmota の IRremoteESP8266 を利用して、付属のリモコンで操作したときのIR信号を受け取り、HomeAssistant にフィードバックするすることにした。

HomeAssistant とのブリッジは、Tasmota-IRHVAC[12] を今回のこともあり色々拡張した nao-pon/Tasmota-IRHVAC[13] を使用。

Page Top

紆余曲折 anchor.png[14]

実際に使ってみると、概ねうまく行ったものの、少し不備な点が・・・

  • 0.5℃刻みの温度に対応していない。IR信号を調べてみると、32℃以上にマッピングされているようだ。
  • スイングモードの自動とスイングが同じに扱われるのでコントロールすることができない。
  • MLZ-RX5017 をオフにすることができない。
    • 早速、 IRremoteESP8266 へ Issue[17] を送ってみた。
    • これは、私の早とちりで、問題は Tasmota 側にあった。crankyoldgit には悪いことをした。
    • そこで、Tasumata に PullRequest[18] を送ってみたら、速攻で受理された!素晴らしくありがたい!
  • 週間タイマー機能があってそれを使っているのだが、HomeAssistant でコントロールすると、その週間タイマーが効かなくなってしまう。
  • そこで IRコードを調べたところ、週間タイマーをON/OFFする信号も送られていることがわかった。
    • 早速、 IRremoteESP8266 へ Issue[19] を送ってみた。
      • 速攻で対応してくれた!素晴らしい! (ただし、週間タイマーの ON/OFF を動的にコントロールすることはできない)

ここまで、順調に進んできたがちょっと大きめの問題が・・・。

Page Top

そして、独自ビルド・・・ anchor.png[20]

週間タイマーを利用するには、IR データ送信時に、現在時刻と曜日の情報を送信する必要があるようだ。

現在時刻は Clock として、IRremoteESP8266 側では実装されているが、Tasmota 側では利用していない。これは大きな問題ではないが、曜日の情報は全く定義されていないので、新たに定義する必要があり、他のメーカーのエアコンには必要ないかも知れないので、取り入れるにはハードルが高そうだ。

ということで、独自ビルドでお茶を濁すことにした。一度ファームが固定されれば、そうそう書き換えることもないだろう。

それがこれ。

ついでに、三菱エアコンは Beep が使われていないので、それに WeeklyTimer を割り当てることで、動的にコントロールできるようにした。

これで、付属リモコンと全く同じ IR 信号を送られることを確認したので、多分問題ないなかろう。

また、自作したシステムには CCS811 を使った二酸化炭素濃度センサーもつけてあるので、fileuser_config_override.h[23] でビルドオプションを変更し I2C の CCS811 コンポーネントを有効にして、サイズ削減のために他の I2C コンポーネントは無効にした。


Last-modified: 2021-02-07 (Sun) 17:13:47 (JST) (225d) by nao-pon