Midea branded AC’s with ESPhome (no cloud)

I have been very far down that rabbit hole! This is consistent with my observations which I’ve detailed a bit more here: Add midea_ir.follow_me action · Issue #1627 · esphome/feature-requests · GitHub

And my messy controller for anyone else interested in diving deep into this: actrl/actrl.py at a02a44053745e285d965a90877f8b2b49ed37ed0 · rmounce/actrl · GitHub

My ducted system is branded Actron Air with URC-100AS outdoor, LRE-100AS indoor and WC-02 wall controller. It’s actually a KJR-121ATF-E.D.21.XP2-1 which I can’t find any specific reference to. 12V from CN40 connector.


In case there was any doubt, the “CN40” connector for 4 wire wall controllers is definitely just XYE and 12V. I’ve sniffed the bus with an oscilloscope the decoded RS485 messages at 4800 baud look match the format documented at https://codeberg.org/xye/xye

Next step is to acquire an RS485 adaptor and capture more of the messages for analysis, the Wireshark dissector by @fabius looks like a good starting point.

My specific goal is to change the static pressure setting of the system via Home Assistant. With the wall controller this can be set when the system is off via the service menu (accessed by holding the copy/follow me button), so this is possible via XYE bus.

In practice the ECM fan in the ducted indoor unit supports at least 12 speed steps, and the static pressure setting just defines the base fan speed from which low/medium/high are relative. At SP1 low/medium/high corresponds to fan speeds 1/2/3, at SP2 low/medium/high is 4/5/6, and so on up to SP4 corresponding to fan speeds 10/11/12. I want to set an extra low fan speed when the system is running at low compressor speed and only serving one or two small bedrooms, and then increase the static pressure setting when the compressor is working hard and/or there are more zone dampers open.

Edit: Though absent from Actron Air’s diagrams, my unit does indeed have dedicated XYE terminals in addition to CN40. The indoor unit / air handler is difficult to access so another new project is to wire the XYE and legacy 5-pin wall controller interfaces up to a spare Cat6 drop near the air handler. I’ve read that the 5-pin wall controller is effectively an IR transmitter, so I can hopefully relocate the existing ESP32 IR blaster from the roof to use these pins in the interim, then ultimately switch over to XYE - all while leaving the wall controller functional and avoiding future visits to the indoor unit.

I also ordered a WF-60A1 WiFi “orb”, which now seems likely to go to waste as UART / “USB” supports a subset of XYE features. I’m in a new development where all my neighbours have the same system, so I can probably sell it to them :slight_smile:

1 Like