For 13 years our house was heated by my DIY Daikin conversion. In the summer of 2023 we replaced it with a Mitsubishi Ecodan, and it took me three attempts to get the Ecodan into Home Assistant properly.
I started with the MELCloud Wi-Fi adapter the installer offered. Well, the app is quite frankly crap and the Home Assistant integration gets a handful of values from the cloud, late, for a device two meters from my router. No good for me.
In December 2023 I put an ESP32 on the CN105 service port instead, running rbroker’s ecodan-ha-local. That got me local MQTT with every value the FTC controller knows (I also ran it for a month without a logic level converter between the 5 V port and the 3.3 V ESP32, don’t ask why). It was good, but it lacked features.
What runs today, since April 2025, is gekkekoe’s esphome-ecodan-hp on an ESP32-S3. It is the same port, but this one is a native Home Assistant integration (no broker in the chain) with OTA updates, and I get these entities:
- flow and return temperatures
- compressor frequency and fan speed
- refrigerant temperatures
- flow rate and defrost state
- since an October update, the internal energy meter of the FTC as separate heating, cooling and DHW counters, consumed and delivered


The counters are the interesting part. Last winter the unit took 4.0 MWh and gave 12.4 MWh of heat, and these are my numbers (the COP vs outside temperature chart is from the same data):
- heating: seasonal COP 3.14, January 2.75
- hot water: 2.0 to 2.4, because it goes to 51 °C
- cooling this summer: 3.6
The consumption is metered, but the unit estimates the output itself from flow and delta-T, so I take the ratios as consistent and not as absolute numbers.
Then the less flattering part, the cycling. I pulled the hourly statistics of the compressor frequency, and 77% of the running hours last winter had a stop-start in them (6 500 compressor starts on 8 345 hours of runtime), most of them between 0 and 10 °C outside. My 11 kW Zubadan was sized for the −15 °C week. Even at its lowest modulation it pushes 4.3 to 5 kW, more than the house wants most of the time. On a March afternoon it overshoots the flow target, stops and starts again.
I count the defrost cycles per day as well. My record so far is 103 minutes on one foggy day around freezing in January. I should have watched the flow rate earlier, after the 2024 annual service it was obvious. Now a drop shows up on a graph and not a year later.
The heat pump knows nothing about the plumbing around it, so I automated that part:
- A Sonoff Basic runs the house circulation pump. It is on when the unit enters space heating or cooling and off eight hours after it goes idle.
- The five fan-coil thermostats (Salus FC600 via Jordi-14’s integration, I reported an hvac_action bitmask bug there and it got fixed in v0.9.3) are switched off when the buffer tank cannot support the mode, above 16 °C in cooling and below 25 °C in heating, and only the ones it switched off are switched back on.
- Window contacts from the alarm panel put the thermostat of a room on hold while the window is open.
- The heating rod of the Ohmpilot goes to the buffer instead of the DHW tank when the water is above 65 °C and the house is in heating, so PV surplus goes into the floor instead of boiling the tank.
