"Smarter" Basic Thermostat

Hi all,

First post here :tada:

I’m currently using the basic thermostat in the climate module to automate my electric radiators to set a target temperature but I was hoping to improve this to prevent such a massive overshoot.

My radiators are quite basic with only a bimetallic thermostat which isn’t accurate so I’m bypassing this by setting it high and relying on HA to switch on and off as required. The problem I have is that these are water filled radiators so take some time to come up to temperature but also then stay hot longer, this means with a large difference between current and target temperature, it can overshoot by a degree or two.

Are there any additional options I can apply, or a better integration, which can essentially “duty cycle” the radiator to get finer control by allowing time for it to release it’s energy before triggering additional heat?

My current config:

climate:
  - platform: generic_thermostat
    name: 'Living Area'
    unique_id: climate.thermostat
    heater: switch.radiator
    target_sensor: sensor.kitchen_temperature
    hot_tolerance: 0
    cold_tolerance: 0.5
    away_temp: 12
    sleep_temp: 16
    max_temp: 22

Thanks!