Monitoring & Controlling Ecodan via CN105

Thanks for sharing,
You can now move your curve design into the bridge adapter and let it write the flow setpoint from v6.3.0

You need to send your curve design points as JSON to the device and activate

2 Likes

I could be mistaken, but I think @samumar82 is running my esphome impl by looking at the names..

Seems like he’s affected by this issue OTA -> Wifi setup · gekkekoe/esphome-ecodan-hp · Discussion #165 · GitHub

@samumar82 try a new factory bin and see if next OTA is forgetting your wifi credentials.

@gekkekoe you are correct. I’m ok with the wifi credentials, will try to do the “visit” trick next time. @F1p I’m not sure I got it right: should I delete my autmation, create the json and send it via mqtt and keep the pump set to fixed flow? Can I use the same also for cooling? One last question, how is the machine calculating the slope? I mean I can see fixed values based on external temp. but what in the middle?

If you are esphome version from @gekkekoe you will not be able to use this feature. You will also have different update method.
Sorry for confusion

It is available on MQTT version only

I did not implement for cooling flow yet, because I understand humidity is more important than Outside Air temperature. It is possible though

the json curve stuff is for his implementation, so you should flash his implementation to use that.

ok thanks all for claryfing

Looking forward to trying this although might need to wait a couple of months to do so properly.

1 Like

A post was merged into an existing topic: Controlling Ecodan Remote Thermostat via CNRF

Short-Cycle Mitigation

The short-cycle mitigation feature protects your heat pump from excessive on/off cycling, which can reduce efficiency and stress the compressor.

When the compressor runtime is shorter than a predefined minimum on-time, the system automatically enters a lockout phase for a configurable duration. During this lockout phase:

  • Heating and cooling outputs are temporarily disabled via server control.

  • Domestic hot water (DHW) operation is not affected.

After the lockout duration expires, normal operation is automatically resumed, and the system restores its previous state.

I’ve have added this feature in a pre-release and currently needing some users to test it. It’s part of a larger feature that’s is going to be implemented (auto adaptive for heating and cooling)

https://github.com/gekkekoe/esphome-ecodan-hp/releases/tag/2025-09-18.5

1 Like

Pre-release build available with Auto Adaptive control.

The Auto-Adaptive Control feature transforms your Ecodan heat pump into a smart, self-learning system. It intelligently adjusts the heat pump’s operation to match the unique thermal properties of your home, maximizing both comfort and energy efficiency.

When enabled, this feature continuously monitors the room temperature and compares it to the setpoint. It then fine-tunes the heat pump’s flow temperature to correct any persistent errors, ensuring your home is always perfectly comfortable using the minimum amount of energy.

binaries: https://github.com/gekkekoe/esphome-ecodan-hp/releases
documentation: esphome-ecodan-hp/docs/auto-adaptive.md at main · gekkekoe/esphome-ecodan-hp · GitHub

5 Likes

I’ve added setpoint bias handling in the latest pre-releases. It’s a generic way to anticipate future events.

A “bias” is a temporary, externally controlled adjustment to the primary setpoint. By applying a positive or negative bias, an external system (like Home Assistant) can instruct the controller to pre-heat or pre-cool the house in response to upcoming events.

This transforms your controller from a reactive system into a predictive one, enabling strategies like:

  • Load Shifting: Pre-heating the house with a positive bias (e.g., +1.0°C) during off-peak electricity hours and then applying a negative bias (e.g., -1.5°C) during expensive peak hours. The thermal mass of your home acts as a battery.

  • Solar Gain Compensation: Applying a negative bias (e.g., -0.7°C) on a cold but sunny morning to prevent the system from overheating the house, letting the “free” energy from the sun do the work instead.

3 Likes

Can you update the M5 stack Atom S3 wirelessly? Or do I have to remove it anytime and plug it into a PC?

If you are using a prebuilt binary, you can apply the update via OTA (in HA). You will get a notification.
If you compiled from source, then you still can flash remotely. http://esp_ip, and at the bottom of the page you should be able to upload a ota image.

Having said that, you do need a firmware later than 2025-07-24.02. Else you will loose your wifi credentials and need to set it again.

Best is just to start over, and get the latest binary pre-release factory image and flash it, set wifi once and then you will get notifications when an release is available.

binaries: Releases · gekkekoe/esphome-ecodan-hp · GitHub (select the pre-release binaries)

howto: esphome-ecodan-hp/docs/install-from-bin.md at 2025-07-24.02 · gekkekoe/esphome-ecodan-hp · GitHub

1 Like

Starting over worked well, but now I get this:

16:40:02 [E] [component:286]
http_request.update set Error flag: Failed to fetch manifest from https://github.com/gekkekoe/esphome-ecodan-hp/releases/latest/download/manifest-esp32s3-z1-da.json
16:40:02 [E] [http_request.idf:207]e[1;31m[update_task]e[1;31m
HTTP Request failed; URL: https://github.com/gekkekoe/esphome-ecodan-hp/releases/latest/download/manifest-esp32s3-z1-da.json; Code: 404
16:40:02 [E] [component:286]e[1;31m[update_task]e[1;31m
http_request set Error flag: unspecified
16:40:03 [E] [component:313]
http_request cleared Error flag

Can you help?

@SKL1961

Danish language is not officially released yet (introduced since this pre-release), so it tries to see if there’s an update. you can ignore it for now, or run english in the meantime. This time, you can upload/flash it remotely. http://esp_ip, at the bottom of the page. I plan to release the additional languages (Norwegian, Swedish, Danish, Polish) when the auto adaptive has seen enough testing.

1 Like

I updated the docs with a getting started section.

2 Likes

Release is ready. Changelog

  • Add auto adaptive temperature control in cool_flow and heat_flow mode. See documentation and quick start esphome-ecodan-hp/docs/auto-adaptive.md at main · gekkekoe/esphome-ecodan-hp · GitHub
  • Adds short cycle detection and mitigation documentation: esphome-ecodan-hp/docs/short-cycle-mitigation.md at main · gekkekoe/esphome-ecodan-hp · GitHub
  • Include logging for proxy port
  • adjust wifi percentage formula
  • Add switch to allow enable/disable service codes during runtime. Disable service codes when requesting them manually at the main display
  • Adds Norwegian, Swedish, Danish and Polish translations
  • Set esp32s3 to 240mhz
  • Renamed climates to flow and room variants to avoid confusion. Please check and update your automatons in HA.
  • Fixed an issue where the flow climate was incorrectly impersonating a room climate (when in heat/cool room target)
  • Introduced total increasing energy counters (consumed/delivered) ready to be used in the HA energy dashboard

*Note that the short cycling and auto adaptive features are disabled by default and can be enabled (switch for auto adaptive, lockout duration for short cycle protection)

2 Likes

Huge thanks for this great release!

My heat pump is in an external utility room, and the FTC6 controller (which I believe acts as the room thermostat via the Z1 sensor) is located outside.

I want to use my internal Home Assistant (HA) smart thermostat for short cycling management and auto adaptive curve, (at the moment is just used to send the on/off signal to the pump) but I’m unsure how to configure it. I checked the Github docs but didn’t find specific instructions.

Any help would be greatly appreciated!

1 Like

@samumar82 did you read esphome-ecodan-hp/docs/auto-adaptive.md at main · gekkekoe/esphome-ecodan-hp · GitHub There’s a getting started section, step 2 + 3 is what you need to do.

Thanks, my questions are: 1) how can I check if the thermostat is wired to the IN1 terminal? 2) can I use the thermostat setpoints (controlled via app and different based on time schedule) instead of manually setting it?