blueprint: name: Custom Better Thermostat Multi-Mode Controller description: Steuert Better Thermostat mit Sommer/Winter (Wetterbasiert), tägliche Schedule, Anwesenheit (optional) und Urlaubs-Button. Für Homematic IP + SHT31. domain: automation input: better_thermostat_entity: name: Better Thermostat Entity description: z.B. climate.wohnzimmer_bt selector: entity: domain: climate schedule_entity: name: Heizzeitplan Schedule description: z.B. schedule.heizzeitplan_wohnzimmer selector: entity: domain: schedule presence_entity: name: Anwesenheit (optional) description: Leer lassen für immer present selector: entity: domain: binary_sensor default: {} vacation_helper: name: Urlaubsmodus Helper description: input_boolean.urlaub selector: entity: domain: input_boolean weather_entity: name: Wettervorhersage description: z.B. weather.openweathermap selector: entity: domain: weather summer_temp_threshold: name: Sommer-Schwellwert default: 25 selector: number: min: 18 max: 50 step: 1 winter_temp_threshold: name: Winter-Schwellwert default: 10 selector: number: min: 0 max: 20 step: 1 eco_temp: name: Eco Temp default: 15 selector: number: min: 10 max: 18 step: 0.5 comfort_temp: name: Komfort Temp default: 21 selector: number: min: 18 max: 24 step: 0.5 trigger: - platform: state entity_id: !input better_thermostat_entity - platform: state entity_id: !input schedule_entity - platform: state entity_id: !input vacation_helper - platform: state entity_id: !input presence_entity - platform: state entity_id: !input weather_entity condition: [] action: - variables: we: "{{ states(''' + '''!input weather_entity) }}" wt: "{{ state_attr(we, 'forecast')[0].temperature if state_attr(we, 'forecast') and state_attr(we, 'forecast')|length > 0 else 0 }}" is_summer: "{{ wt | float(0) > [blueprint_input.summer_temp_threshold] | float(25) }}" is_winter: "{{ wt | float(0) < [blueprint_input.winter_temp_threshold] | float(10) }}" is_vacation: "{{ states(''' + '''!input vacation_helper) == 'on' }}" p: "{{ states(''' + '''!input presence_entity) }}" is_present: "{{ p == '' or p == 'unavailable' or p == 'on' }}" schedule_active: "{{ states(''' + '''!input schedule_entity) == 'on' }}" - choose: - conditions: - "{{ is_summer }}" sequence: - service: climate.set_hvac_mode target: entity_id: !input better_thermostat_entity data: hvac_mode