From c7f0ebfc28463fcbf714b46808ba8d4e0b02a826 Mon Sep 17 00:00:00 2001 From: thomas Date: Sat, 30 Aug 2025 03:44:06 +0000 Subject: [PATCH] blueprints/automation/wd-close-weather-notification.yaml aktualisiert --- .../wd-close-weather-notification.yaml | 69 +++++++------------ 1 file changed, 26 insertions(+), 43 deletions(-) diff --git a/blueprints/automation/wd-close-weather-notification.yaml b/blueprints/automation/wd-close-weather-notification.yaml index c7bf081..8c9c9eb 100644 --- a/blueprints/automation/wd-close-weather-notification.yaml +++ b/blueprints/automation/wd-close-weather-notification.yaml @@ -10,37 +10,23 @@ blueprint: entity: domain: binary_sensor multiple: true - temperature_sensors: - name: Temperature sensors - description: Temperature sensors to check + temperature_sensor: + name: Temperature Sensor + description: Select a temperature sensor or weather entity selector: entity: - domain: sensor - multiple: true - temperature_cold_threshold: - name: Cold Temperature Threshold - description: Notify if temperature drops below this value - default: 15 - selector: - number: - min: -50 - max: 50 - unit_of_measurement: °C - temperature_hot_threshold: - name: Hot Temperature Threshold - description: Notify if temperature rises above this value - default: 28 - selector: - number: - min: -50 - max: 50 - unit_of_measurement: °C - weather_sensor: - name: Weather sensor - description: Sensor reporting weather conditions + filter: + domain: + - sensor + - weather + device_class: + - temperature + weather_entity: + name: Weather Forecast Entity + description: Select a weather forecast entity selector: entity: - domain: sensor + domain: weather bad_weather_states: name: Bad Weather States description: List of weather states that should trigger a notification @@ -51,12 +37,12 @@ blueprint: text: multiline: true notify_target: - name: Notification target + name: Notification Target description: Who to notify selector: target: {} min_open_time: - name: Minimum open time + name: Minimum Open Time description: Duration in minutes before notifying default: 20 selector: @@ -81,28 +67,25 @@ trigger: action: - variables: current_temp: > - {{ states(!input.temperature_sensors) | map(attribute='state') | map('float') | min }} - current_condition: > - {% if current_temp < !input.temperature_cold_threshold %} - too cold - {% elif current_temp > !input.temperature_hot_threshold %} - too hot + {% if is_state_attr(!input.temperature_sensor, 'temperature', none) %} + {{ state_attr(!input.temperature_sensor, 'temperature') }} {% else %} - {% set states_list = !input.bad_weather_states.split(',') | map('trim') %} - {% if states(!input.weather_sensor) | string in states_list %} - bad weather - {% else %} - unknown - {% endif %} + {{ states(!input.temperature_sensor) | map(attribute='state') | map('float') | min }} + {% endif %} + current_condition: > + {% set states_list = !input.bad_weather_states.split(',') | map('trim') %} + {% if states(!input.weather_entity) | string in states_list %} + bad weather + {% else %} + unknown {% endif %} - service: notify.notify data: - target: "{{ !input 'notify_target' }}" + target: "{{ !input.notify_target }}" message: > {{ !input.custom_message | replace('{{ entity_name }}', states(trigger.entity_id).attributes.friendly_name) | replace('{{ temperature }}', current_temp | string) | replace('{{ condition }}', current_condition) }} -