Water Temperature Targeting Thermostat for variable-power x-to-water heat pump (e.g. LG ThermaV)

Hello,

I have written an integration to control outlet water temperature of our air-to-water heat pump based on a room thermometer, and also to avoid some annoying stop-start behaviour its internal software is exhibiting (LG ThermaV 12kW split, it does sometimes overshoot target temperature and then enters neverending start-overshoot-stop cycle instead of running continuously at some proper power level).

This should in theory save the maximum amount of energy, since heat pump output/input power ratio is correlated to the output temperature.

I have written this specifically for my use case:

  • LG ThermaV variable-power heat pump with the original LG wifi module, ha-smartthinq-sensors from ollo69 to connect it to Home Assistant
  • I want to use one specific thermometer to drive the water temperature (I know which room is the coldest if all radiators were set to max, and use “dumb” thermostatic radiator valves in all the other rooms, possibly will upgrade them to smart ones later)
  • there is reasonable response time to increase/decrease the water temperature, and the room temperature (30min between going full power and room thermometer registering first 0,1°C change)
  • electricity cost is almost the same no matter the time of day

Could this be of use to you?

  • it could be useful for variable-power heat pumps and possibly also variable-power condensing boilers
  • or for any heating system where you cannot directly control the on/off/power, but can set the requested outlet water temperature, and there is possible savings coming from running on lowest needed water temperature

How it works for now:

  1. you need to enter estimated [response_time] between setting the heating system to full/zero power and the room thermometer registering change
  2. if the room is close to the requested temperature, it will consider doing ± 1°C every once in a while to keep it that way (“finetuning mode”)
  3. if it looks like the temperature is going out of the hysteresis range, or is out of the range, it will try to use full/zero power to reach the target (“quick mode”); when it looks like it will reach target within next [response_time], it guesses some water temperature to stay at target and enters finetuning mode again

I would like to add some auto-calibration of (3), but I really have no idea how it’s going to behave in other people’s homes. I also have no idea how other brands of heat pumps/boilers allow user’s control. Maybe this can only work with LG.

Nevertheless, if you would like to beta-test, contact me.

wtt

There’s auto-tuning available in this PID thermostat control that should eliminate overshoot:

As far as the overshoot I mentioned goes, that’s internal to the LG ThermaV software (firmware). It would have to be fixed by LG, which it wasn’t for a long time.

Thanks for the suggestion though. Maybe I should also explain myself: Why have I done this and how does it differ from a PID controller, why not just use one?

With LG ThermaV, I cannot directly control the heat pump power. I can only control requested outlet water temperature. The LG firmware will oscillate the actual temperature within internally set hysteresis range (default ± 2°C), it will do defrosts, also if running at continuous low power, it will occasionally increase the power for a minute to lubricate the compressor, all of this I have no control over, but it does cause some noise in the data. I didn’t see any easy way to fit a PID into this.

In the attached screenshot, requested water temperature is set to 43°C for the whole period. This is how the LG ThermaV firmware works.

1 Like

Hi, i ould like to try this on my Daikin Altherma. Can you provide the integration?

Ahoj rad bych vyzkoušel tvuj projekt jestli je to možné