This is somewhat complex so I am hoping we have a guru on the community !
Question: How might I automate turning off a heat pump when leaving water temperature minus the leaving water offset demand is less than 30?
Issue
I am using HA to modulate heating because the madoka room thermostat is not as responsive as my custom room sensors and also because there are limitations on the number of API calls the Oneta app can invoke over a 24 hour period (so updating the madoka values from cloud interface). The Daikin system obtains a Leaving Water Temperature (LWT) from the weather curve set in the MMI, then my HA automation applies an offset value (range -10 to +10) to the LWT value, to modulate the system as a complex but now fully working hysteresis that is not available in HA generic thermostat etc. Indeed there are 5 different thresholds that increase or decrease the offset in different time frames , to maintain the house temp - which is does perfectly, around 20C. So I do not want to change any of this - thank you for understanding.
Help needed
Put simply, I need to ensure the pump is only running when the target lwt is >= 30C however and crucially, there is no sensor value that yields what the target lwt will be.
A ‘fudge’ is perhaps the best I can do , well certainly myself which is…
As I throttle the LWT My Daikin Air Heat Pump cycles rapidly causing wear & tear and increased maintenance costs when the LWT is less than 30C. I need some way to ensure that for negative offset values, when deducted from the current LWT, the resultant value is >= 30. Similarly for positive offsets, when added to the current LWT, the resultant value is => 30.
Is there a better way?
Setup:
I use the Onecta integration downloaded today, I have a number of sensors and climate devices.
What I really need is the LWT value from the weather curve that the system is using, if that is >=30 then turn pump on, if on the other hand deducting -ve offsets takes it below 30 then turn off the pump. But that curve value (the target lwt) is not available - I note on Github users are requesting it but Daikin do not currently provide an API wrapper for this so it cannot be made available.
The only two useful exposed entities are:
climate.heating_leaving_water_offset
which has state HEATING or OFF, and its associated attribute target_temperature
which is a integer value from -10 to +10 (for simplicity here lets call this offset)
and
sensor.heating_climatecontrol_leaving_water_temperature
which has a numeric state of 0 to 50. (for simplicity here lets call this lwt)
… but lwt isnt helping me as that is the current leaving water temperature and not the target lwt.
Ideally as above, if we had the weather curve value then (the target lwt) rather than actual lwt, and we could just simply do:
IF target-lwt + offset < 30 # check if target lwt with offset applied is < 30
THEN
# lwt with negative offset would be less than 30
# or
# lwt with positive offset would be less than 30
<< turn off pump >>
ENDIF
I want to turn off the pump (climate.heating_leaving_water_offset
HVAC mode set to OFF) when negative offsets applied to lwt is < 30. Lwt will always reduce for negative offsets. So this side of automation seems doable.
However the upward increasing side is more complex. If LWT + positive offset is < 30 then pump should stay off but then of course the pump will not run so LWT will never increase and so the pump will always be off once LWT has gone below 30. Mmmm.
Maybe my logic/algorithm is wrong here, but I don’t know what more I can do with the limited entities exposed through the Daikin Onecta integration.
This is complicated - is anyone understanding this and if so can you suggest a solution.