I normally start with the example provided in the docs. So starting w/ Generic Thermostat there is a minimum amount of data needed to configure it;
# Example configuration.yaml entry
climate:
- platform: generic_thermostat
name: Heatpump
heater: switch.heat_pump
target_sensor: sensor.study_temperature
As you can see, it is pretty basic. The temperature sensor in the target room. Next we have the switch. As mentioned by @stomko, that could be a relay, but it can also be the current heat pump thermostat inside a Template Switch. So in effect, you have a HA thermostat controlling the heat pump thermostat with two settings. And you get to choose if the HA switch off is actually off or just a lower setpoint. Start with the example in the docs (have taken a stab in the dark)
# Example configuration.yaml entry
switch:
- platform: template
switches:
heat_pump:
value_template: "{{ is_state_attr('climate.heat_pump', 'hvac_action','heating') }}"
turn_on:
service: climate.set_temperature
target:
entity_id: climate.heat_pump
data:
temperature: 25
turn_off:
service: climate.set_temperature
target:
entity_id: climate.heat_pump
data:
temperature: 15