I. Season sensor
Generic thermostat would need a season sensor (Summer, Autumn, Winter, Spring) to check against, in order to prevent starting in obvious wrong situations.
The component already has initial_operation_mode which can be set to off or auto. However, in cases temperature sensor is not initialized or a wrong temperature is posted, it should also check against the meteorological/astronomical season sensor in order to prevent AC starting in the winter or the heater in the summer days (or have them both turned on in the same time).
II. Do not disturb mode
Adding a do not disturb mode would prevent the AC starting in the middle of the night. It could be set to check against a day/night sensor or an occupancy sensor (case nobody is home) and turn the thermostat off.
Instead of just enabling heater during winter only or AC during summer or a current workaround is to set the generic thermostat to off. A similar automation can be set for second case and triggered by a specific moment of the day (then turn it to auto once the home occupancy sensor is triggered).
- alias: Heater state
trigger:
platform: homeassistant
event: start
condition:
condition: or
conditions:
- condition: state
entity_id: sensor.season
state: "Summer"
- condition: state
entity_id: sensor.season
state: "Autumn"
action:
- delay: "00:01:05"
- service: climate.set_operation_mode
entity_id: climate.heater
data:
operation_mode: "off"