If you are trying to maintain a comfortable indoor climate in terms of temperature and humidity, and you want to utilize the power of opening windows, I have created an integration that helps with that. It is called Ventilation Assistant, and you can install it via HACS, from the following custom repository: GitHub - derabbink/ha_hacs_ventilation_assistant: A Home Assistant HACS integration to assist with building ventilation · GitHub
This integration lets you create devices that compute the following and expose an entity for each:
- Indoor temperature average (from a set of temperature sensor entities that you specify)
- Indoor relative humidity average (from a set of humidity sensor entities that you specify)
- Outdoor temperature average (from a set of temperature sensor entities that you specify)
- Outdoor relative humidity average (from a set of humidity sensor entities that you specify)
- Indoor absolute humidity (computed)
- Outdoor absolute humidity (computed)
- Indoor projected absolute humidity (computed)
- Indoor projected relative humidity (computed)
- Indoor projected temperature difference (computed)
- Indoor projected relative-humidity difference (computed)
- Any doors/windows open (from a set of door/window contact sensor entities that you specify)
- Door/window open percentage (computed - how many % of all contact sensors are open)
- Temperature advice:
KEEP_CLOSED,OPEN,KEEP_OPEN, orCLOSE - Humidity advice:
KEEP_CLOSED,OPEN,KEEP_OPEN, orCLOSE - Overall Advice:
KEEP_CLOSED,OPEN,KEEP_OPEN, orCLOSE
You can specify global defaults - but these can be overridden in each device that the integration creates:
- Indoor comfort temperature min and max
- Indoor comfort relative humidity min and max
- Priority: Whether to prioritize the Temperature or Humidity Advice to set the Overall Advice.
The key thing is the Advice entity that the device has: It tells you what you should do to keep the indoor temperature and/or humidity within the comfortable range that you have configured. You can also use this to trigger automations for notifying you to open or close windows.
I created this because during the current summer heat in my area, it's helpful to know when I should be opening or closing windows at night/in the early morning.
Screen shot
What the generated device looks like in HA:
How I use it
I have a dashboard for showing the temperature and humidity values for each sensor, organized by area (room). On this dashboard I now also include the computed entities for "Projected indoor temperature difference", "Projected Indoor humidity difference", and the "Advice".
Considerations
Q: Why is the outdoor temperature and humidity not part of the global defaults?
A: Oftentimes, stagnant heat on one side of a building can mean opening a window on that side would let in much warmer air than on the opposite side of the building. This allows you to use different sensors for each device you create, to accommodate this nuance.
Q: Why does this not operate based on Home Assistant areas?
A: I wanted to support the case where physical spaces (which share one temperature and humidity) that span multiple areas in home assistant can lead to a single advice. E.g. a kitchen, dining area, and living room can all be one physical space, but you might have a separate area for each one in your home assistant setup.
Q: Why does this generate separate "Temperature Advice" and "Humidity Advice" entities?
A: These can sometimes conflict, and you may have a different priority. E.g. in the bedroom, you may prefer a comfortable temperature above a comfortable humidity. While in your basement laundry room, you may prefer a comfortable humidity above a comfortable temperature. Since these can conflict, you get to choose what dictates the overall advice.
Q: Why does the device have so many entities?
A: In order to arrive at the projected indoor humidity (difference), all those other entities are required. And since these numbers are computed anyway, they are also exposed as entities. You don't have to put them on your dashboard if you don't care for them.
Q: Why does this not use a weather forecast?
A: This is still the 1st version, and it wanted to keep it simple. One obvious improvement is to change the logic for the advice such that it factors in the projected outdoor temperature; i.e. if it is expected to get hot outside, the advice should be to keep let the indoor temperature cool down as far as the comfort temperature min, and not to close windows once the temperature has dropped to below the comfort temperature max.
Feedback and Contributions welcome
If you have any suggestions, feedback, or improvements, feel free to share them with me.
