๐งพ Changelog โ Buienalarm
๐ Highlights
-
โก Full async integration
No blocking calls, nosetup took >10swarnings โ now usingaiohttpandasync_timeout -
๐งญ Accurate and safe geolocation
Latitude and longitude inputs are validated and auto-converted from string/float -
๐งผ Modernized codebase
Includes full docstrings, type hints, lazy%logging, and Home Assistant best practices -
๐ง Smarter error handling
API responses log truncated body text for easier debugging; all JSON/parsing/network errors are diagnosed precisely -
๐ Timezone-aware timestamps
Replacedutcnow()withnow(timezone.utc)for proper datetime handling -
๐งฑ Better structure with SensorEntityDescription
Uses a single SENSORS definition for all sensor metadata -
๐ Extended sensor data
Adds full precipitation data toextra_state_attributesfor better dashboard usage
๐ What's Changed
โ Modernized Integration
- Refactored for full asynchronous operation using
aiohttp+async_timeout
โ No morerequestsor thread executor warnings - Supports non-blocking setup โ avoids
setup took >10 secondswarning
๐ง Smarter and Safer Code
- Added validation and conversion for latitude/longitude (handles both
strandfloat) - Type hints and consistent exception handling throughout
- Uses timezone-aware datetimes (
now(timezone.utc))
๐งผ Code Cleanliness and Maintenance
- Structured using
SensorEntityDescriptionvia centralSENSORSdefinition - Added full docstrings,
snake_case, and lazy%-style logging - Improved logging with diagnostic snippets on API errors
๐ก UX Improvements
- Sensor
unique_idincludes precise geolocation and description key - Includes
extra_state_attributeswith full precipitation data for UI
- Update pytest-asyncio requirement from >=0.23.6,<0.30.0 to >=0.23.6,<1.1.0 by @dependabot in #19
Full Changelog: v2025.6.17...v2025.7.7