[Blueprint] 🪟 Ventilation Recommendation v0.4.3 – Smart ventilation alerts via Push, Alexa & HA UI (Beta)

:window: Ventilation Recommendation – Ventilate smarter, automatically at the right time!

Hi Community! :wave:

I’d like to share a Blueprint I developed with the help of Claude Sonnet (AI-assisted).
It analyzes indoor and outdoor temperature & humidity, calculates the absolute humidity difference
and notifies you when ventilating actually makes sense – via Push, Alexa or persistent HA notification.

:warning: Beta notice: This is currently a beta version. It has been tested on my own
Home Assistant instance, but may still contain bugs or rough edges. Feedback is very welcome!

:de: Important – German only for now:
My English is not the best, so this Blueprint is currently available in German only.
All input fields, labels and notification texts are in German.
Once everything is running stable and clean, I plan to release a fully translated English version.
Thank you for your understanding! :pray:


:sparkles: Features

  • :thermometer: Sensor-based logic – reads indoor/outdoor temperature and humidity regularly
  • :balance_scale: Configurable thresholds – ventilation is recommended when the absolute humidity difference
    exceeds the threshold AND indoor humidity is too high
  • :stopwatch: Time window control – notifications only during configurable time slots (e.g. daytime only)
  • :bell: Multi-channel notifications – Push via Companion App (with optional dashboard action button),
    persistent HA UI message, and Alexa voice output
  • :memo: Message variants – short hint, detailed text, or fully custom text with template support
  • :label: Auto room name detection – automatic fallback: room name → friendly name → entity ID
  • :floppy_disk: Duplicate prevention – optional input_text helper to avoid repeated identical notifications
  • :bug: Debug mode – shows sensor values, difference, name source and blueprint version

:clipboard: Requirements

  • Home Assistant (recent version recommended)
  • Indoor & outdoor temperature sensors (sensor)
  • Indoor & outdoor humidity sensors (sensor)
  • At least one notification target (Companion App, Alexa media player or persistent notification)
  • (Optional) An input_text helper for duplicate prevention
  • (Optional) A dashboard URL for the action button

:rocket: Import

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Or import manually via this URL:
https://gist.github.com/tiwo85/7fbb5e8c065e02e8eefa18e8ea37ff59/raw


:rocket: Automatic Update Notifications (NEW!)

Get notified automatically about new versions using Blacky’s Blueprint Update Notification:

Required Sensors

1. Gist Version (Remote)

sensor:
  - platform: rest
    name: "Ventilation Recommendation Blueprint Gist Version"
    icon: mdi:cloud-tags
    resource: "https://gist.githubusercontent.com/tiwo85/7fbb5e8c065e02e8eefa18e8ea37ff59/raw/lueftungsempfehlung_notify.yaml"
    method: GET
    headers:
      accept: "text/plain"
    value_template: >
      {% set match = value | regex_findall('\\*\\*Version\\s+([0-9.]+)\\*\\*') %}
      {{ match if match else 'unknown' }}
    scan_interval: 86400

2. Local Version

text

command_line:
  - sensor:
      name: "Ventilation Recommendation Blueprint Local Version Number"
      icon: mdi:code-not-equal-variant
      command: "grep -oE '[*][*]Version [0-9.]+' /config/blueprints/automation/tiwo85/lueftungsempfehlung_notify.yaml | grep -oE '[0-9.]+'"
      scan_interval: 86400

Quick Setup

  1. Import Blacky’s Blueprint
  2. Add sensors to configuration.yaml → Restart HA
  3. Configure:

text

Remote: sensor.ventilation_recommendation_blueprint_gist_version
Local: sensor.ventilation_recommendation_blueprint_local_version_number
Name: Ventilation Recommendation

Done! → Automatic push notifications for updates :rocket:


🗺️ ToDo & Roadmap

Already implemented :white_check_mark::

  • Push notifications (Companion App)
  • Persistent HA UI notifications
  • Alexa voice output
  • Dashboard action button
  • Short/long/custom messages
  • Auto room name detection + manual override
  • Duplicate prevention via status helper
  • Debug mode
  • Time windows
  • 3 notification modes (change/always/reminder)
  • Repeat reminders for closed windows
  • Threshold hysteresis to prevent flickering
  • NEW Alexa native integration (multiple devices)

Planned :black_square_button::

  • Status-based actions (lights/fan/switch)
  • Lovelace status cards
  • Multiple notification targets
  • Action on window reminder
  • :uk: Full English version (v1.0.0)
📝 Changelog

v0.4.4 (25.02.2026)

  • Alexa native integration: Multiple devices selectable
  • Bug fix: Native Alexa service corrected to notify.send_message

v0.4.3 (24.02.2026)

  • Bug fix: Template variables in debug mode corrected

v0.4.2 (24.02.2026)

  • Threshold hysteresis to prevent flickering

v0.4.1 (24.02.2026)

  • Manual room name input
  • 3 notification modes (change/always/reminder)
  • Repeat reminders for closed windows
  • Extended name preferences

v0.4.0 (24.02.2026)

  • Notification modes introduced
  • Repeat reminder functionality
  • Status storage improvements

v0.3.0 (23.02.2026)

  • Input sections grouped
  • Emojis added
  • UI improvements

v0.2.5 (23.02.2026)

  • Time window support

v0.2 (23.02.2026)

  • Initial core features

:speech_balloon: Feedback & Questions

Any feedback, bug reports or feature ideas are very welcome!
Drop a comment below or open an issue directly on the
Gist. :raised_hands:

:bulb: Note: This Blueprint was developed with AI assistance (Claude Sonnet) and tested on my own
Home Assistant instance. Always review automations before enabling them.

2 Likes

I am just curious - what’s the reason behind using absolute humidity versus dew point?
Or, maybe either would have been fine, and you just picked absolute humidity?
I’m trying to understand why you did the why you did it.

Also, when exactly would ventilating actually makes sense? Can you elaborate a bit?

How do I know what a good threshold would be? What kind of threshold you are using? Also how high is too high for the indoor humidity? This is probably subjective, but for example, what kind of humidity do you deem “high”, for your use case?

Also what’s the strategy? The recommendation would be made by the room. So does that mean you will have temp and humidity sensors in each of room you want to get notified on? Also for outdoor readings, do you place another sensor outside, or use the readings from weather entity?
Do you plan to have motorized switches to open/close windows, so that to make the whole things fully automatic?

Trying to understand how you use the blueprint yourselves.

Thanks for the questions!

So does that mean you will have temp and humidity sensors in each of room you want to get notified on?

Yes, sensors (temp/humidity + window contact) in every room of our 1970s house in Wolfsburg, Germany. Doors separate rooms for precise per-room control – mainly in kids’ rooms (20/16/11).

Also for outdoor readings, do you place another sensor outside, or use the readings from weather entity?

Dedicated outdoor sensor for accurate absolute humidity (AH).

Do you plan to have motorized switches to open/close windows…?

Alerts only (push/Alexa/HA UI) when indoor AH > outdoor +2 g/m³; window contacts detect opens. Manual for now, motorization planned.

Why absolute humidity over dew point? AH directly shows water vapor mass (g/m³), temperature-independent – perfect to compare indoor/outdoor for ventilation decisions. Dew point is temp-dependent & better for “feels like” comfort, but trickier for auto logic.

Our blueprint default: 2 g/m³ diff. HA AH sensor:
{{ (6.112 * exp((17.67 * states('sensor.temp')) / (states('sensor.temp')|float + 243.5)) * states('sensor.rh')|float * 2.1674) / (273.15 + states('sensor.temp')|float) }}