Time to heat

I’ve combined a hue motion/temperature sensor with a heater connected to a TPLink switch.

Using a climate configuration, i’ve got it successfully tracking to a target temperature. However, because the heater is quite low power, it takes a long time to heat up. The result is that the temperature fluctuates either side of the target temperature rather than track it closely.

I was wondering if it’s possible to somehow mimic the Nest thermostat’s ‘time to heat’ capability?

I.e. I know it takes the heater 15 minutes to get hot, so switch it on 15 minutes before the heat drops below the target.

This is my current configuration:

sensor:
  - platform: rest
    resource: http://192.168.0.138/api/KEY/sensors/14
    value_template: '{{ value_json.state.temperature / 100 | round(1) }}'
    scan_interval: 30
    unit_of_measurement: '°C'
    name: 'Porch Temperature'

switch:
  - platform: tplink
    host: 192.168.0.101
    name: 'Porch Heater'

climate:
  - platform: generic_thermostat
    name: Porch
    heater: switch.porch_heater
    cold_tolerance: 0.0
    hot_tolerance: 0.3
    target_sensor: sensor.porch_temperature

Can anyone suggest a way to do this?

Thanks!

I’m not sure this is a simplest solution but I would try doing it using the Binary sensor trend.

With this you can try to guess where the temperature is going to be in 15min and decide to force the thermostat to start.

If you have an external temperature sensor you could also try to understand how it decrease the porche temperature and take it in account.

Another suggestion would be to use min_cycle_duration set to more than 15minutes to be sure you don’t switch your heater off before it actually raise the temperature

2 Likes

Both excellent suggestions!

I will investigate and let you know how I get on

Thanks