ESP Climate not doing the heating action properly

The problem is that my climate controllers says “heating” but is not turning on the switches as they should.

I have this ESP Config:

  - platform: gpio
    name: "${esphome_name}_Relay_1"
    id: stue_heat
    pin: 13
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF
      - logger.log: "Switch Turned On: Stue"
      - script.execute: check_pumpe_efterloeb_isrunning
      - switch.turn_on: pump
      - logger.log: "Switch Turned Off: Stue"
      - script.execute: pumpe_efterloeb

  - platform: thermostat
    name: "Stue Termostat"
    sensor: stue_temp
    default_target_temperature_low: 20.0 °C
      - switch.turn_on: stue_heat
      - switch.turn_off: stue_heat
      min_temperature: 16 °C
      max_temperature: 22 °C
      temperature_step: .1 °C
    hysteresis: 0.3

And the esp logs the following:

[09:46:00][D][climate:262]: 'Stue Termostat' - Sending state:
[09:46:00][D][climate:265]:   Mode: HEAT
[09:46:00][D][climate:267]:   Action: HEATING
[09:46:00][D][climate:276]:   Current Temperature: 20.00°C
[09:46:00][D][climate:282]:   Target Temperature: 21.00°C

Notice how it says “HEATING” but when I look at my 8 switch board it looks like this:


None of the switches are active

But as soon as I turn up the target temperature from 21 to 19 so it says IDLE instead of HEATING

And then turn it from 19 back to 21 … it looks like this:


can anybody explain?

You have hysteresis of 0.3 °C

So with your target temp set to 21°C:

Heating on at 21 + 0.3 = 21.3°C

Heating off at 21 - 0.3 = 20.7°C

If you are at 20°C the heating should be off.

21 to 19 is down not up.

I dont understand … 20.0°C is not 20.7°C and therefore it should turn on the heat, right?

and it doesnt explain this:

Next big question… How do I make the heat turn on at below 20.7 and off when above 21.3 ?

Why do it just say heating without actually turning on the switch ?

This morning it seemed that the climate controller actually turned on the switch when it changed state to heating. As expected. Strange…

I think it was my own fault . I had made a job that should activate the switches every morning and then turn them off again a little later . Just to exercise the underfloor heating . But I forgot to make some logic that checks if the switch is already turned on .