Monitoring & Controlling Ecodan via CN105

I’ve got mine up and running using a Lollin S2 Mini, thanks for the great posts @Dan_Nichols it was very helpful.

Just need to work out how to get the data from Home Assistant into emoncms now.

1 Like

@calvind80 quite simple to send data from HA to emoncms using the Emoncms History integration Emoncms History - Home Assistant

Yeah it was pretty straightforward, got it all working now.

1 Like

@F1p I’ve received one of your Ecodan2MQTT dongles and it is all set up and controllable from Home Assistant.
It works great and is nicely packaged, thanks.

One thing I have noticed is when I try to set the Setpoint temperature to 0.5 of a degree it won’t do it.
MelCloud is able to set temperatures like 19.5 so I assume it is possible to do via the CN105.

I wonder if it is something to do with this setting in MelCloud in the Unit Settings:

Hi @ajdunlop,

You are right, in this modified firmware the payload of 19.5 sent then written to the Ecodan is rounded to 19 by the Ecodan on receipt:

I think you could be onto something, the temperature increment option may have something to do with it how it’s written and maybe the Unit Settings need to let the Ecodan FTC end know it needs to translate commands coming in using a fixed-point approach or somehow else

Yea, so I’m assuming some part of the payload that hasn’t been worked out yet would have a value that can be set to change this?

Another thing I’ve been wondering about but haven’t had time to experiment with yet.
You can set a temperature in all 3 heating modes. The room temperature mode (AutoAdapt) and Fixed Temperature modes make sense but what is the temperature setpoint for the curve mode for?

It would be great in curve mode to be able to shift up and down the set curve like you can from the Main Controller but given this can’t be done from MelCloud either I doubt its possible.

Hi Andrew,

I’m delighted to present firmware v3.5 with 0.5°C Increments for you to try out, remember to update Home Assistant configuration.yaml temp_step in the climate sections too.
You can navigate to the device IP, select “Update” and install the file at the link below:

The wireless thermostats can still demand or inhibit heating if they reach the setpoint in Compensation Curve mode, when they request heat though it will be at the Flow setpoint determined by the outdoor temperature.
It’s been asked for, but both modifying the curve or modifying the +/- flow temperature offset that appears on the main controller when in weather compensation i don’t think is available via CN105


Wow, I didn’t realise that, I assumed they were operating the same as the main controller.
I wonder if in WC mode whether they act exactly like an on/off controller or if it is cleverer than that.

Excellent, I can confirm it is now letting me change the setpoint by .5 of a degree.


I’m in WC and would say that i stay closer to the setpoint than i did in Temperature/AutoAdapt which seemed to overshoot by 1-1.5

Are you on heat pump monitor?
In WC I find it tries to keep closer to the set point but cycles very badly (shorter cycles and very short time between cycles). Auto Adapt’s over and undershoot is configurable and allows larger overshoot which could be bad for cop but because it allows longer between cycles I find the cop can be better as longer is spent reheating the water in the system from a lower temp.

I guess that the better sized your emitters are the better WC is but that AA does a lot to improve on systems where there isn’t enough emitter capacity to get rid of the heat into the house.

I’m not on heat pump monitor yet no,

I would agree about the CoP, but maybe you can give me a pointer here then

  • From about 7am to 8am was sitting on thermostat target
  • 8am to 10am was 0.5 above target
  • 10am until 11am was 1 above target

Compressor Freq graphed looks like it did cycle twice as the deltaT between flow and returned took a dip - but only twice before it decided the house was warm enough not to need further heat and not demand heat again until early evening

1 Like

That’s a nice long run.
That first dip looks like a defrost. What was your outdoor temperature?

I’ve been thinking about this. It sounds like quite a good way to control things. WC (if you can get it to run nicely) works worst when there are losses or gains not accounted for by basic heat loss like draughts on a windy day or solar gains.
Having the thermostat be able to to act as a limiter would at least solve the solar gains issue.

Does this only apply to the wireless thermostats or can it be done with the main controller?

1 Like

From your earlier post - outdoor was up to about 6 at this point.

The main controller screen seems to change to allow an offset to be applied (-/+ the calculated WC flow temperature) rather than setpoints as in temp mode - but as you notices can be done via MQTT or on the wireless thermostat

1 Like

Yea, it makes sense when you have a wireless thermostat but I don’t I just have my main controller that is used for room temp when in Auto Adapt mode.
If I set the setpoint via MQTT I wonder if it uses the main controller thermostat for this.

Thinking about it when I was playing with WC a couple of days ago I notices a large off period rather than it trying to maintain the current WC flow temperature so maybe that was it happening.

Something else that I have been watching that has been interesting is the Flow Setpoint value available from CN105.

When in Weather Compensation mode it shows what the current flow target temperature is based on the configured WC curve.

When heating hot water it appears to follow the flow temperature.

But it shows something different in Auto Adapt mode.
Below I have shown it this morning against my OEM output:

It looks like it has a flow setpoint it is aiming for but sometimes makes changes to this that then appear to be reflected in how hard the compressor works some of the time (like at the start of the cycles.
But then there is the random short jump around 09:20 that doesn’t appear to be reflected but happens in the time where my flow temperature runs away with itself and results in a end of cycle.

I’m wondering if this value can give us some incites into how the AA algorithm is working.

Another one showing a complete run yesterday morning:

When the heating is off in AA the flow setpoint appears to flow the dropping flow temp.

On Home Assistant there is also “Heater Flow” and “Heater Return”,
During a hot water boost i see:

  • WC = Zone1 Flow Setpoint temperature doesn’t change. Heater Flow changes
  • AA = Zone1 Flow Setpoint changes, Heater Flow changes nearly identically with setpoint

Hi guys,
I want to thank you all for the contribution to this thread. After struggling with Mel Cloud for over 3 years i was looking for an alternative. I found it here!
Straight to the point. Last night i bit the bullet and i connected Esp32 (rbroker) concurrently with Mitsubishi WiFi dongle. It worked for less then an hour but only if i connected the dongle first. After connecting the Esp32 the dongle stopped communicating with the pump. But the ESP kept working. I did this by using Wago splicing connectors.
Then i went a little further. I connected Esp32 (rbroker) concurrently with ESPHome (tobias-93). That worked for few hours with no issues, both receiving/transmitting data. After a few hours the ESP32 stopped working but ESPHome kept its communication with the pump.
What to do when you have a little time on your hands? You guessed it: connect all 3 concurrently. ESP32, ESPHome and WiFi Dongle. Started with dongle, all fine. Then ESP32, all good. As soon as i plugged in the ESPHome the dongle’s error light came on.
So now we have the answer: it is possible to run multiple devices (from the electrical standpoint, they all power up) but the communication gets mangled.
Boards used:
rbroker - Lolin S2 Mini, direct connection, no level converter, no resistor and no voltage regulator.
+5V from CN105 to Lolin VBUS. GND CN105 to Lolin GND. TX/RX CN105 to Lolin 33/34.
tobias93 - Wemos D1 Mini ESP8266, direct connection, no level converter, no resistor and no voltage regulator.
+5V from CN105 to Wemos 5V pin. GND CN105 to Wemos GND pin. TX/RX CN105 to Wemos RX/TX.
Thanks again for the great projects!