Created
December 25, 2025 23:37
-
-
Save Wuest3nFuchs/44077c6e579ea0770f21c2a3a5767e5e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blueprint: | |
| name: "🌦️ Weather forecast notification PRO 2026" | |
| description: > | |
| 📢 Sends a daily weather forecast notification for today and optionally tomorrow. | |
| ✔ Mobile App notifications (Android / iOS) | |
| ✔ PC notifications via HASS.Agent (using dispatcher script) | |
| You control: | |
| • when the notification is sent | |
| • which weather details are included | |
| • whether tomorrow’s forecast is appended | |
| domain: automation | |
| source_url: https://gist.github.com/Wuest3nFuchs/60b75567ba53613716738afcced887c4 | |
| input: | |
| weather_entity: | |
| name: 🌍 Weather Source | |
| description: Select the weather entity used as forecast source. | |
| selector: | |
| entity: | |
| domain: weather | |
| notify_device: | |
| name: 📱 Mobile Devices | |
| description: Select mobile devices running the Home Assistant Companion App. | |
| selector: | |
| device: | |
| integration: mobile_app | |
| multiple: true | |
| notify_service_enable: | |
| name: 🖥️ PC / Service Notifications | |
| description: Enable notifications via dispatcher script (HASS.Agent, notify groups). | |
| default: disable | |
| selector: | |
| select: | |
| options: | |
| - label: Disabled – mobile only | |
| value: disable | |
| - label: Enabled – mobile + PC / services | |
| value: enable | |
| notify_service_script: | |
| name: 📜 Notify Dispatcher Script | |
| description: Script used for PC or service notifications. | |
| default: null | |
| selector: | |
| entity: | |
| domain: script | |
| multiple: false | |
| time: | |
| name: ⏰ Notification Time | |
| description: Time of day when the notification should be sent. | |
| selector: | |
| time: {} | |
| notification_title: | |
| name: 🏷️ Notification Title | |
| default: Weather Forecast | |
| notify_message: | |
| name: 🧾 Today’s Forecast Details | |
| default: condition | |
| selector: | |
| select: | |
| mode: list | |
| multiple: true | |
| options: | |
| - label: 🌤️ Weather condition | |
| value: condition | |
| - label: 🌡️ Temperature (high / low) | |
| value: temperature | |
| - label: 🌧️ Precipitation amount | |
| value: precipitation | |
| - label: 💨 Wind speed & direction | |
| value: wind | |
| tomorrow_message: | |
| name: 📅 Tomorrow’s Forecast | |
| default: tomorrow | |
| selector: | |
| select: | |
| options: | |
| - label: Include tomorrow’s forecast | |
| value: tomorrow | |
| - label: Only today’s forecast | |
| value: noTomorrow | |
| trigger: | |
| - platform: time | |
| at: !input time | |
| condition: [] | |
| actions: | |
| # 1️⃣ Daily Forecast abrufen | |
| - service: weather.get_forecasts | |
| target: | |
| entity_id: !input weather_entity | |
| data: | |
| type: daily | |
| response_variable: daily | |
| # 2️⃣ Forecast-Daten extrahieren (heute) | |
| - variables: | |
| weather: !input weather_entity | |
| notify_message: !input notify_message | |
| forecast: "{{ daily[weather].forecast }}" | |
| # 3️⃣ Notification mit echten Wetterdaten | |
| - service: persistent_notification.create | |
| data: | |
| title: !input notification_title | |
| message: >- | |
| {% if 'condition' in notify_message %} | |
| Condition: {{ forecast[0].condition | capitalize }} | |
| {% endif %} | |
| {% if 'temperature' in notify_message %} | |
| Temp: {{ forecast[0].temperature }} // {{ forecast[0].templow }} | |
| {{ state_attr(weather, 'temperature_unit') }} | |
| {% endif %} | |
| {% if 'precipitation' in notify_message %} | |
| Precipitation: {{ forecast[0].precipitation }} | |
| {{ state_attr(weather, 'precipitation_unit') }} | |
| {% endif %} | |
| {% if 'wind' in notify_message %} | |
| Wind: {{ forecast[0].wind_speed }} | |
| {{ state_attr(weather, 'wind_speed_unit') }} | |
| {% endif %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment