From 5ea6fc8f1ec9f760b1840cffa1098c1314a9c730 Mon Sep 17 00:00:00 2001 From: thomas Date: Sat, 30 Aug 2025 09:38:52 +0000 Subject: [PATCH] blueprints/automation/wd-close-weather-notification.yaml aktualisiert --- .../wd-close-weather-notification.yaml | 100 ++---------------- 1 file changed, 10 insertions(+), 90 deletions(-) diff --git a/blueprints/automation/wd-close-weather-notification.yaml b/blueprints/automation/wd-close-weather-notification.yaml index 5cc9757..3930f21 100644 --- a/blueprints/automation/wd-close-weather-notification.yaml +++ b/blueprints/automation/wd-close-weather-notification.yaml @@ -1,6 +1,6 @@ blueprint: - name: Open Windows/Doors Notification - description: Notify when windows or doors are open, triggered by weather, temperature, or manual execution. + name: Open Windows/Doors Notification (Debug) + description: Debug blueprint to verify open windows/doors and notifications. domain: automation input: openings: @@ -9,41 +9,6 @@ blueprint: entity: domain: binary_sensor multiple: true - weather_sensor: - name: Weather Sensor - selector: - entity: - domain: weather - multiple: false - weather_trigger_states: - name: Weather Trigger States (comma-separated) - default: storm,rain - selector: - text: {} - temperature_sensor: - name: Temperature Sensor - selector: - entity: - domain: - - sensor - - weather - device_class: temperature - temp_above: - name: Notify if Temperature Above - default: 22 - selector: - number: - min: -50 - max: 50 - unit_of_measurement: °C - temp_below: - name: Notify if Temperature Below - default: 17 - selector: - number: - min: -50 - max: 50 - unit_of_measurement: °C notify_service: name: Notification Service default: notify.notify @@ -51,34 +16,20 @@ blueprint: text: {} custom_message: name: Custom Message Template - default: "{{ entity_name }} is open! Trigger: {{ trigger_info }}" + default: "Open windows: {{ entity_name }}" selector: text: {} trigger: - platform: state - entity_id: !input weather_sensor - - platform: numeric_state - entity_id: !input temperature_sensor - above: !input temp_above - - platform: numeric_state - entity_id: !input temperature_sensor - below: !input temp_below + entity_id: !input openings action: - variables: openings_list: !input openings - weather_sensor_id: !input weather_sensor - temperature_sensor_id: !input temperature_sensor - raw_weather_states: !input weather_trigger_states notify_service_name: !input notify_service message_template: !input custom_message - temp_above_threshold: !input temp_above - temp_below_threshold: !input temp_below - weather_states: "{{ raw_weather_states.split(',') | map('trim') | list }}" - - # Detect currently open windows open_entities: > {% set list = [] %} {% for ent_id in openings_list %} @@ -89,42 +40,11 @@ action: {% endfor %} {{ list }} - # Determine trigger info safely - trigger_info: > - {% if trigger is defined and trigger.platform == 'state' and trigger.entity_id == weather_sensor_id %} - Weather: {{ states[weather_sensor_id].state }} - {% elif trigger is defined and trigger.platform == 'numeric_state' and trigger.entity_id == temperature_sensor_id %} - Temperature: {{ states[temperature_sensor_id].state }}°C + - service: "{{ notify_service_name }}" + data: + message: > + {% if open_entities | count > 0 %} + {{ message_template | replace('{{ entity_name }}', open_entities | join(', ')) }} {% else %} - Manual trigger + No windows are open. {% endif %} - - # Weather match check - weather_match: > - {% if trigger is defined and trigger.platform == 'state' and trigger.entity_id == weather_sensor_id %} - {{ states[weather_sensor_id].state in weather_states }} - {% else %} - true - {% endif %} - - # Temperature match check - temperature_match: > - {% if trigger is defined and trigger.platform == 'numeric_state' and trigger.entity_id == temperature_sensor_id %} - {% set temp = states[temperature_sensor_id].state | float %} - {{ temp >= temp_above_threshold or temp <= temp_below_threshold }} - {% else %} - true - {% endif %} - - - choose: - - conditions: - - condition: template - value_template: "{{ open_entities | count > 0 and weather_match and temperature_match }}" - sequence: - - service: "{{ notify_service_name }}" - data: - message: > - {{ message_template - | replace('{{ entity_name }}', open_entities | join(', ')) - | replace('{{ trigger_info }}', trigger_info) - }}