Manual override for generic thermostat

Hi,
I set up a generic thermostat for my electric convector to replace the automation I used so far (based on hour, gcal events and temperature).
It works, and I still use an automation for turning on and off the thermostat accordingly to hour and events, but now I need to override the automation and turn the thermostat on and off when needed.
My idea was to use a template switch, but it does not update its status based on thermostat status. I think it’s because the “on” status for the thermostat is actually “heat” and not “on”, but even with the conditional value for the template it does not work.

Here the code.

(climate.yaml)

- platform: generic_thermostat
  name: Bedroom
  heater: switch.bedroom
  target_sensor: sensor.bedroom
  min_temp: 16
  max_temp: 21
  ac_mode: False
  target_temp: 17
  cold_tolerance: 0.3
  hot_tolerance: 0
  min_cycle_duration:
    seconds: 5
  keep_alive:
    minutes: 3
  initial_operation_mode: "off"

(template switch)

- platform: template
  switches:
    thermostat:
      friendly_name: "Thermostat"
      value_template: "{% if is_state('climate.bedroom.operation_mode', 'heat') %}on{% else %}off{% endif %}"
      turn_on:
        service: climate.turn_on
        data:
          entity_id: climate.bedroom
      turn_off:
        service: climate.turn_off
        data:
          entity_id: climate.bedroom

(I tried both status and operation_mode, but the switch stays off )

Where I’m wrong?

Pardon my ignorance, why can’t you just use the climate controls on the front end?

well, because I use the lovelace custom thermostat card and it doesn’t provide the controls. now I’ve discovered the much recent official lovelace thermostat control and it resolve my issue. but I’m still curious about the possibility to read the thermostat status from a template switch.