kamaradclimber / heishamon-homeassistant

An integration for heatpumps handled by heishamon
Apache License 2.0
36 stars 20 forks source link

Rework DHW Control logic #145

Open geduxas opened 8 months ago

geduxas commented 8 months ago

Is your feature request related to a problem? Please describe. Improve DHW heating control logic. Now it's little bit chaotic

Describe the solution you'd like DHW temperature set point should be tied to available to set. and not to mode settings. I think mode stings should suggest preferred set point, but change it's reheat temperature.

Describe alternatives you've considered Now in DHW i can set temperature ranges, acording to it's working mode. And all modes are almost same, only with min/max heating values. And there is not possibility to change reheat value in easy way.

Additional context Here is topic need for DHW

MQTT GET MQTT SET Ranges Description
DHW_Installed 0-1 Do we have DHW at all
DHW_Temp To get current DHW temperature.
ThreeWay_Valve_State if = 3 Indicates DHW is heating right now
DHW_Target_Temp SetDHWTemp 40-75 DHW desired setpoint
DHW_Heat_Delta SetDHWHeatDelta -12 - -2 (DHW_Target_Temp - DHW_Heat_Delta -1) for DHW reheat start
Force_DHW_State SetForceDHW 0-1 Fore DHW reheat
DHW_Heater_State **SetDHWHeater*** 0-1 Enable resistor heater for DHW

*SetDHWHeater not implemented jet, but i will work around for it :)

For operating mode I suggest to use valid states from water heater entity, and by changing reheat range.

State DHW_Heater DHW_Heat_Delta max_temp description
STATE_ECO 0 -12 45 should we limit for desired temp?
STATE_HEAT_PUMP 0 -7 52 51-52 are mos safe temperature to reach with heat pump only
STATE_HIGH_DEMAND 0 -5 52
STATE_PERFORMANCE 0 -2 52
STATE_ELECTRIC 1 [don't change] 75 to reach desired temperature HP needs to use additional heater

Yes, it will not work ideally, in most cases it will allow to use DHW in more desired way. In some way of implementation's and additional buttons i think HVAC climate component would do better for that.. but in another way i think we need to expand water heater component in home assistant too.

kamaradclimber commented 8 months ago

Thanks for having taken the time to describe this. As I understand the main idea is to allow users to control min and max temperatures.

geduxas commented 8 months ago

Thanks for having taken the time to describe this. As I understand the main idea is to allow users to control min and max temperatures.

Main idea to proper use of water heater component, also to maximise control of it. and maybe mimic some possibilities from remote controller. Now we don't have easy way to force DHW, To enable/disable heating booster (resistor) and proper control of economy. Lowering boiler temperature will not make it economy like for now. You should control delta for reheating of boiler. bigger delta is, rearer it will reheat, and gives more economy. So i sugest to leave min/max setpoint for user will. and use eco/normal/power modes to control delta of reheat. Also somehow enable possibility to enable/disable electric heater, and by push of button force reheat it.. for last two option's i am missing button for that.

Also for historical graphs, climate control cold draw seperate graph when it was heating/idling.. i see it's not implementent for now in water_heater... miss that to..

And that part for installed DHW, i think it could be nice to have feature, to show less options in drop down, for users who don't have DHW.

kamaradclimber commented 8 months ago

I'll try to add necessary features to the water heater entity in HA (starting with https://github.com/home-assistant/core/pull/102960)

geduxas commented 8 months ago

I had pushed PR to Igor repository by adding ability enable external heater for DHW. After that we will have SetDHWHeater https://github.com/IgorYbema/HeishaMon/pull/129