Breaking changes
- Requires Home Assistant 2025.8.0 or newer (Python 3.13+). Use 2.2.x with older Home Assistant versions.
- The calculated sensors are now
unavailablewhile a source sensor is unavailable, unknown or out of range, instead of keeping the last value. They also start asunavailableinstead ofunknownuntil both sources are valid. Humidity readings up to 105 % are treated as 100 %. (#345, #429, #359, #430) - Thom's discomfort index uses the correct Stull wet-bulb formula. Values, and with them the perception levels, are about 0.4 to 1.1 °C higher than before. (#369)
- Polling, poll interval, custom icons and the enabled sensors moved into a collapsed "Advanced options" section, advanced mode is no longer needed. Every sensor can be selected as a source. Existing entries keep working unchanged. (#460)
Fixes
- The entry migration no longer fails on current Home Assistant versions.
- The duplicate check follows the sensors an entry currently uses, also after they were changed in the options. (#152, #408)
- Polling sensors update as soon as the first valid values arrive. (#213)
- Source listeners and the poll timer are removed when the integration is unloaded or reloaded.
- Source sensors with an unsupported temperature unit no longer raise an error.
- The options flow reloads the entry with
OptionsFlowWithReload. - The absolute humidity sensor has the
absolute_humiditydevice class. (#441) - The temperature and humidity attributes are no longer written to the recorder with every update. (#383)
Other
- Documentation: sources of the calculations, accepted input values, limits of the dew point perception, frost risk and heat index. (#348)
- The integration ships its brand images and the license header is recognized by GitHub and HACS.
- Tests run against the oldest supported (2025.8.0) and the latest Home Assistant.
- Updated linting tools and GitHub Actions.