From 714bde1ee1a04fc60dcce614cb606bf875faa545 Mon Sep 17 00:00:00 2001 From: Pierre Eisenbrandt Date: Sat, 13 Dec 2025 18:57:43 +0100 Subject: [PATCH] remove dev file --- Climate/bosch_bth-ra_control_dev.yaml | 254 -------------------------- 1 file changed, 254 deletions(-) delete mode 100644 Climate/bosch_bth-ra_control_dev.yaml diff --git a/Climate/bosch_bth-ra_control_dev.yaml b/Climate/bosch_bth-ra_control_dev.yaml deleted file mode 100644 index 9d1bfd6..0000000 --- a/Climate/bosch_bth-ra_control_dev.yaml +++ /dev/null @@ -1,254 +0,0 @@ -mode: single -blueprint: - name: Bosch BTH-RA Radiator Control - DEV - homeassistant: - min_version: "2024.6.0" - description: > - Eine Automation zur automatischen Steuerung eines Bosch TRV Heizkörperthermostats. - domain: automation - author: Me - input: - trv: - name: Thermostat - description: Thermostat muss ein Bosch BTH-RA sein - selector: - entity: - multiple: false - filter: - - domain: climate - temperature_sensor: - name: Temperatursensor - selector: - entity: - multiple: false - filter: - - domain: sensor - device_class: temperature - window_section: - name: Fenster-/Türsensor Konfiguration - description: Konfiguration für den Fenster-/Türsensor. - collapsed: false - input: - window_sensor: - name: Fenster-/Türsensor (oder Gruppe) - selector: - entity: - multiple: false - filter: - - domain: binary_sensor - window_delay_open: - name: Fenster-/Türsensor Verzögerung - description: Zeit die das Fenster offen bleiben muss, um die den Radiator in den "Fenster offen"-Modus zu versetzen (Default = 30s) - default: 30 - selector: - number: - mode: box - min: 0.0 - max: 3600.0 - unit_of_measurement: seconds - step: 1.0 - window_delay_close: - name: Fenster-/Türsensor Verzögerung - description: Zeit die das Fenster geschlossen bleiben muss, um die den Radiator in den "Fenster geschlossen"-Modus zu versetzen (Default = 5s) - default: 5 - selector: - number: - mode: box - min: 0.0 - max: 3600.0 - unit_of_measurement: seconds - step: 1.0 - schedule_section: - name: Heizplan Konfiguration - description: Konfiguration der Heizpläne die für den Radiator berücksichtigt werden sollen - collapsed: false - input: - radiator_schedules: - name: Heizpläne - description: Alle Heizpläne die für den Radiator berücksichtigt werden sollen. Sind mehrere Schedules aktiv, wird der erste mit einem gültigen Slot verwendet. - default: [] - selector: - entity: - multiple: true - filter: - - domain: switch - away_section: - name: Konfiguration für Abwesenheitsmodus - description: Konfiguration für das Absenken der Heizung im Abwesenheitsmodus eines Alarmsystems - collapsed: false - input: - alarm_control_panel: - name: Alarm Control Panel - description: Optional - Alarm Control Panel um Heizung abzusenken, wenn Alarm im Abwesendmodus ist - default: null - selector: - entity: - multiple: false - filter: - - domain: alarm_control_panel - away_temperature: - name: Abwesenheitstemperatur - description: Temperatur die eingestellt wird, wenn der Alarm im Abwesendmodus ist (Default = 18°C) - default: 18 - selector: - number: - mode: box - min: 15.0 - max: 25.0 - unit_of_measurement: "°C" - step: 0.5 - -variables: - trv: !input trv - temperature_sensor: !input temperature_sensor - radiator_schedules: !input radiator_schedules - away_temperature: !input away_temperature - alarm_control_panel: !input alarm_control_panel - remote_temperature_entity: > - {% set entities = device_entities(device_id(trv)) %} - {% set remote_temperature_entity_id = namespace(id='') %} - {% for entity in entities %} - {% if 'remote_temperature' in entity %} - {% set remote_temperature_entity_id.id = entity %} - {% endif %} - {% endfor %} - {{ remote_temperature_entity_id.id }} - window_detection_entity: > - {% set entities = device_entities(device_id(trv)) %} - {% set window_detection_entity_id = namespace(id='') %} - {% for entity in entities %} - {% if 'window_detection' in entity %} - {% set window_detection_entity_id.id = entity %} - {% endif %} - {% endfor %} - {{ window_detection_entity_id.id }} - scheduled_temperature: > - {% set ns = namespace(current_temperature = none) %} - {% for schedule in radiator_schedules %} - {% if states(schedule) == 'on' and state_attr(schedule, 'current_slot') is not none %} - {% set current_slot = state_attr(schedule, 'current_slot') %} - {% set actions = state_attr(schedule, 'actions') %} - {% if actions is not none and actions | length > current_slot %} - {% set action = actions[current_slot] %} - {% if action.data.temperature is defined and action.data.temperature | is_number %} - {% set ns.current_temperature = action.data.temperature %} - {% break %} - {% endif %} - {% endif %} - {% endif %} - {% endfor %} - {{ ns.current_temperature }} - target_temperature: > - {% if alarm_control_panel and is_state(alarm_control_panel, 'armed_away') %} - {{ away_temperature }} - {% elif scheduled_temperature is not none %} - {{ scheduled_temperature }} - {% else %} - {{ away_temperature }} - {% endif %} - -triggers: - - platform: state - entity_id: - - !input window_sensor - from: "off" - to: "on" - for: !input window_delay_open - id: FENSTER_OPEN - - platform: state - entity_id: - - !input window_sensor - from: "on" - to: "off" - for: !input window_delay_close - id: FENSTER_CLOSED - - platform: time_pattern - # Synce Temperatur alle 20 Minuten (Teiler von 60) - minutes: "/20" - id: SYNC_TEMPERATURE - - platform: state - entity_id: !input temperature_sensor - id: TEMP_CHANGED - - platform: state - entity_id: !input alarm_control_panel - to: "armed_away" - id: ALARM_ARMED_AWAY - - platform: state - entity_id: !input alarm_control_panel - from: "armed_away" - to: "disarmed" - id: ALARM_DISARMED_AWAY - -actions: - # setze Fenster auf offen/geschlossen - - choose: - - conditions: - - condition: trigger - id: - - FENSTER_OPEN - - condition: template - value_template: > - {{ is_state(window_detection_entity, 'off') }} - sequence: - - service: switch.turn_on - target: - entity_id: "{{ window_detection_entity }}" - alias: Setze Fenster auf offen - - conditions: - - condition: trigger - id: - - FENSTER_CLOSED - - condition: template - value_template: > - {{ is_state(window_detection_entity, 'on') }} - sequence: - - service: switch.turn_off - target: - entity_id: "{{ window_detection_entity }}" - - if: - - condition: template - value_template: > - {{ target_temperature is not none and target_temperature | is_number }} - then: - - service: climate.set_temperature - target: - entity_id: !input trv - data: - temperature: "{{ target_temperature | float }}" - alias: Setze Fenster auf geschlossen und setze Solltemperatur auf Wert aus Zeitplan (wenn vorhanden) - # temperature sensor sync - - choose: - - conditions: - - condition: trigger - id: - - SYNC_TEMPERATURE - - TEMP_CHANGED - - condition: template - value_template: > - {{ temperature_sensor is defined and states(temperature_sensor) | is_number }} - sequence: - - service: number.set_value - data: - value: "{{ states(temperature_sensor) | float }}" - target: - entity_id: "{{ remote_temperature_entity }}" - alias: Synchronisiere Temperatur am TRV - # setze Solltemperatur basierend auf Alarm-Status - - choose: - - conditions: - - condition: trigger - id: - - ALARM_ARMED_AWAY - - ALARM_DISARMED_AWAY - sequence: - - if: - - condition: template - value_template: > - {{ target_temperature is not none and target_temperature | is_number }} - then: - - service: climate.set_temperature - target: - entity_id: !input trv - data: - temperature: "{{ target_temperature | float }}" - alias: Setze Solltemperatur basierend auf Alarm-Status \ No newline at end of file