From 3778a3c181756cc048a78050f4d5cb56d5eea2f8 Mon Sep 17 00:00:00 2001 From: martin Date: Sun, 31 May 2026 12:06:41 +0000 Subject: [PATCH] Rename to klima_dry_control --- blueprints/automation/klima_dry_control.yaml | 136 +++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 blueprints/automation/klima_dry_control.yaml diff --git a/blueprints/automation/klima_dry_control.yaml b/blueprints/automation/klima_dry_control.yaml new file mode 100644 index 0000000..d44f401 --- /dev/null +++ b/blueprints/automation/klima_dry_control.yaml @@ -0,0 +1,136 @@ +blueprint: + name: Raum entfeuchten (Klimaanlage Dry-Modus) + description: > + Schaltet eine Klimaanlage für eine einstellbare Zeit in den Dry-Modus, + wenn ein Helfer-Schalter aktiviert wird. Startet nur bei ausreichender + Luftfeuchtigkeit und geschlossenen Fenstern/Türen. Bricht ab, sobald + ein Fenster oder eine Tür geöffnet wird, und setzt die Klimaanlage + danach auf den vorherigen Modus zurück. + domain: automation + input: + dehumidify_switch: + name: Entfeuchten-Schalter + description: input_boolean, der die Entfeuchtung startet (z. B. input_boolean.schlafzimmer_entfeuchten) + selector: + entity: + domain: input_boolean + + climate_entity: + name: Klimaanlage + description: Climate-Entität, die in den Dry-Modus geschaltet wird + selector: + entity: + domain: climate + + humidity_sensor: + name: Luftfeuchtigkeitssensor + description: Sensor mit device_class humidity (Wert in %) + selector: + entity: + domain: sensor + device_class: humidity + + humidity_threshold: + name: Feuchtigkeitsgrenzwert (%) + description: Entfeuchtung startet nur, wenn die Luftfeuchtigkeit diesen Wert überschreitet + default: 60 + selector: + number: + min: 30 + max: 100 + step: 1 + unit_of_measurement: "%" + mode: slider + + contact_sensors: + name: Fenster- und Türsensoren + description: Alle Sensoren müssen geschlossen sein (off = geschlossen). Bei geöffnetem Sensor wird abgebrochen. + selector: + entity: + domain: binary_sensor + device_class: + - window + - door + - opening + multiple: true + + duration_minutes: + name: Laufzeit (Minuten) + description: Wie lange die Klimaanlage im Dry-Modus laufen soll + default: 10 + selector: + number: + min: 1 + max: 60 + step: 1 + unit_of_measurement: min + mode: slider + +variables: + dehumidify_switch: !input dehumidify_switch + climate_entity: !input climate_entity + humidity_sensor: !input humidity_sensor + humidity_threshold: !input humidity_threshold + contact_sensors: !input contact_sensors + duration_minutes: !input duration_minutes + previous_mode: "{{ state_attr(climate_entity, 'hvac_mode') | default(states(climate_entity)) }}" + +trigger: + - platform: state + entity_id: !input dehumidify_switch + to: "on" + +condition: + - condition: template + value_template: > + {{ states(humidity_sensor) | float(0) > humidity_threshold | float(0) }} + + - condition: template + value_template: > + {{ expand(contact_sensors) + | selectattr('state', 'eq', 'on') + | list + | count == 0 }} + +action: + - service: climate.set_hvac_mode + target: + entity_id: !input climate_entity + data: + hvac_mode: dry + + - wait_for_trigger: + - platform: template + value_template: > + {{ expand(contact_sensors) + | selectattr('state', 'eq', 'on') + | list + | count > 0 }} + timeout: + minutes: !input duration_minutes + continue_on_timeout: true + + - choose: + - conditions: + - condition: template + value_template: > + {{ previous_mode in ['off', 'heat', 'cool', 'heat_cool', 'auto', 'fan_only'] }} + sequence: + - service: climate.set_hvac_mode + target: + entity_id: !input climate_entity + data: + hvac_mode: "{{ previous_mode }}" + default: + - service: climate.set_hvac_mode + target: + entity_id: !input climate_entity + data: + hvac_mode: "off" + + - service: input_boolean.turn_off + target: + entity_id: !input dehumidify_switch + +mode: single +max_exceeded: silent