Back to page

− Links

 Print 

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

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

« Prev[3]  
1: 2021-02-07 (Sun) 16:39:07 nao-pon[4] source[5]
With "attach" plugin. (Created empty)
Cur: 2021-02-07 (Sun) 17:13:47 nao-pon[4] source[6]
Line 1: Line 1:
 +#navi
 +RIGHT:&rsslink(../);
 +#boxdate
 +* Tasmota で三菱エアコンを完全コントロール [#r2e0d7d7]
 +RIGHT:&tag(Tasmota,ESP8266,IR-Remote);
 +
 +三菱エアコンは、[[esphome-mitsubishiheatpump:https://github.com/geoffdavis/esphome-mitsubishiheatpump]] により CN105 ポートを利用して、シリアル通信によるコントロールが可能で、私も2種類の三菱エアコン MSZ-GV2519 と MSZ-GE2520 に取り付けて、問題無くコントロールしいる。
 +
 +昨年の11月頃に新たに、MLZ-RX5017 を設置したので、また同じように組み込みましたが、通信規格が違うのか全く動かすことができませんでした。
 +
 +そこで、[[SmartIR:https://github.com/smartHomeHub/SmartIR]] を利用して、赤外線リモコン RS-WFIREX4 経由でコントロールしていた。しかし、少し問題が・・・。
 +
 +運転自体の ON/OFF は、HA端子から信号を取って反映できていたが、付属のリモコンで温度を変えたり運転モードを変えたりした時に、HomeAssistant 側でその変更を感知することができない問題があった。
 +
 +そこで、今度は Tasmota の IRremoteESP8266 を利用して、付属のリモコンで操作したときのIR信号を受け取り、HomeAssistant にフィードバックするすることにした。
 +
 +HomeAssistant とのブリッジは、[[Tasmota-IRHVAC:https://github.com/hristo-atanasov/Tasmota-IRHVAC]] を今回のこともあり色々拡張した [[nao-pon/Tasmota-IRHVAC:https://github.com/nao-pon/Tasmota-IRHVAC]] を使用。
 +
 +** 紆余曲折 [#u2b40a05]
 +
 +実際に使ってみると、概ねうまく行ったものの、少し不備な点が・・・
 +
 +- 0.5℃刻みの温度に対応していない。IR信号を調べてみると、32℃以上にマッピングされているようだ。
 +-- 早速、 [[IRremoteESP8266 へ Issue:https://github.com/crankyoldgit/IRremoteESP8266/issues/1398]] を送ってみた。
 +--- 速攻で対応してくれた!素晴らしい!
 +- スイングモードの自動とスイングが同じに扱われるのでコントロールすることができない。
 +-- 早速、 [[IRremoteESP8266 へ Issue:https://github.com/crankyoldgit/IRremoteESP8266/issues/1399]] を送ってみた。
 +--- 速攻で対応してくれた!素晴らしい!
 +- MLZ-RX5017 をオフにすることができない。
 +-- 早速、 [[IRremoteESP8266 へ Issue:https://github.com/crankyoldgit/IRremoteESP8266/issues/1402]] を送ってみた。
 +-- これは、私の早とちりで、問題は Tasmota 側にあった。crankyoldgit には悪いことをした。
 +-- そこで、T[[asumata に PullRequest:https://github.com/arendst/Tasmota/pull/10829]] を送ってみたら、速攻で受理された!素晴らしくありがたい!
 +- 週間タイマー機能があってそれを使っているのだが、HomeAssistant でコントロールすると、その週間タイマーが効かなくなってしまう。
 +- そこで IRコードを調べたところ、週間タイマーをON/OFFする信号も送られていることがわかった。
 +-- 早速、 [[IRremoteESP8266 へ Issue:https://github.com/crankyoldgit/IRremoteESP8266/issues/1403]] を送ってみた。
 +--- 速攻で対応してくれた!素晴らしい! (ただし、週間タイマーの ON/OFF を動的にコントロールすることはできない)
 +
 +ここまで、順調に進んできたがちょっと大きめの問題が・・・。
 +
 +** そして、独自ビルド・・・ [#ub4f3b80]
 +
 +週間タイマーを利用するには、IR データ送信時に、現在時刻と曜日の情報を送信する必要があるようだ。
 +
 +現在時刻は Clock として、IRremoteESP8266 側では実装されているが、Tasmota 側では利用していない。これは大きな問題ではないが、曜日の情報は全く定義されていないので、新たに定義する必要があり、他のメーカーのエアコンには必要ないかも知れないので、取り入れるにはハードルが高そうだ。
 +
 +ということで、独自ビルドでお茶を濁すことにした。一度ファームが固定されれば、そうそう書き換えることもないだろう。
 +
 +それがこれ。
 +
 +- ブランチ: %% https://github.com/nao-pon/Tasmota/tree/ir_remote_dev %%
 +-- コミット: [[https://github.com/nao-pon/Tasmota/commit/c30e4a747ec628299b9766ad6cde6e136ee4a3de]]
 +- パナソニックを2種類追加したので、ブランチ変更した。 -> [[https://github.com/nao-pon/Tasmota/tree/irremote-org]]
 +
 +ついでに、三菱エアコンは Beep が使われていないので、それに WeeklyTimer を割り当てることで、動的にコントロールできるようにした。
 +
 +これで、付属リモコンと全く同じ IR 信号を送られることを確認したので、多分問題ないなかろう。
 +
 +また、自作したシステムには CCS811 を使った二酸化炭素濃度センサーもつけてあるので、&ref(user_config_override.h); でビルドオプションを変更し I2C の CCS811 コンポーネントを有効にして、サイズ削減のために他の I2C コンポーネントは無効にした。
 +
 +- &ref(tasmota-ircustom-mitsubishi-custom.bin.gz);
 +
 +** 結果・・・ [#cb41c8b4]
 +&font(180%){楽しかった!}; :-D
 +&ref(living_ac - Main Menu.png,mw:480,mh:360);&ref(living_ac - Configure Module.png,mw:480,mh:360);
 +RIGHT:&font(90%){&page_comments;};
 +#navi
« Prev[3]