Thermostatic Radiator Valve Controller TS0601 automation

For the generic thermostat all you have to do is use the below code as a template in configuration.yaml: Generic Thermostat is built in to core.

#
#Create a generic Thermostat for family room fireplace
#Use Temperature sensor located on Family Room East wall
#
climate:
  - platform: generic_thermostat
    name: Family Room Fireplace
    heater: switch.family_room_fireplace
    target_sensor: sensor.multisensor_6_air_temperature
    min_temp: 45
    max_temp: 78
    target_temp: 50
    away_temp: 45
    initial_hvac_mode: heat

Hacs can be complicated but is worth the effort. It opens up a lot of code written by others who are more knowledgeable.

I should have also answered your question - apologies:

Here is a solution by @123 that will work for both weekdays and weekends with different times. You will need to create a binary sensor in helpers that allows you to turn on/off the system.

alias: example
description: ''
trigger:
  - id: 'schedule'
    platform: time
    at:
      - '06:00'
      - '08:00'
      - '15:00'
      - '20:00'
      - '21:00'
      - '22:00'
  - id: 'override'
    platform: state
    entity_id: binary_sensor.tuer_balkon_onoff
    to: 'on'
    for: '00:01:00'
  - id: 'disable'
    platform: state
    entity_id: binary_sensor.tuer_balkon_onoff
    to: 'off'
    for: '00:02:00'
condition: []
action:
  - choose:
      - conditions:
          - "{{ trigger.id != 'disable' }}"
          - "{{ is_state('binary_sensor.tuer_balkon_onoff', 'on') }}"
        sequence:
          - variables:
              weekday:
                6: 17
                8: 24
                15: 20
                20: 22
                22: 20
                24: 17
              weekend:
                8: 17
                21: 24
                22: 20
                24: 17
              schedule: "{{ weekday if 1 <= now().isoweekday() <= 5 else weekend }}"
          - service: climate.set_temperature
            target:
              entity_id: climate.thermostat_kueche
            data:
              hvac_mode: 'heat'
              temperature: "{{ schedule.get(schedule.keys() | select('>', now().hour) | first, 21) }}"
      - conditions:
          - "{{ trigger.id == 'disable' }}"
        sequence:
          - service: climate.turn_off
            target:
              entity_id: climate.thermostat_kueche
    default: []
mode: single

These are time (hour) and temperature (C)

              weekday:
                6: 17
                8: 24
                15: 20
                20: 22
                22: 20
                24: 17
              weekend:
                8: 17
                21: 24
                22: 20
                24: 17

the default temperature is 21.

temperature: "{{ schedule.get(schedule.keys() | select('>', now().hour) | first, 21) }}