Add climate/select platforms, parallel API, weather sensors v0.10.0#1
Merged
trcyberoptic merged 3 commits intomasterfrom Feb 15, 2026
Merged
Add climate/select platforms, parallel API, weather sensors v0.10.0#1trcyberoptic merged 3 commits intomasterfrom
trcyberoptic merged 3 commits intomasterfrom
Conversation
…nsors v0.10.0 Major improvements to the Hoval Connect integration: **New platforms:** - Climate platform for HK (heating) circuits with HEAT/OFF/AUTO modes - Select entity for week program switching (week1/week2/ecoMode/standby/constant) **API & coordinator improvements:** - Parallel API calls with asyncio.gather() for faster polling - Program cache with 5-minute TTL (reduces API calls) - Request timeout (30s) on all API calls - Automatic token retry on 401 responses - Public invalidate_plant_token() method (replaces private cache access) - Weather data fetching from get_weather() API **New sensors:** - Operation mode sensor (diagnostic) - Weather condition and temperature sensors (plant-level) **Code quality:** - DeviceInfo helper functions (plant_device_info, circuit_device_info) - EntityCategory.DIAGNOSTIC on program/event/operation sensors - OPERATION_MODE_REGULAR constant (replaces string literals) - async_create_task replaces deprecated ensure_future - Debounce task cleanup in async_will_remove_from_hass - Configurable polling interval (30/60/120/300s) in options flow - strings.json synced with translations/en.json - 16 unit tests for pure coordinator functions Co-Authored-By: Claude Opus 4.6 <[email protected]>
HA translation keys must match [a-z0-9-_]+. Map between HA option keys (eco_mode) and API program names (ecoMode) in select entity. Co-Authored-By: Claude Opus 4.6 <[email protected]>
… discovery - Fan entities now only created for HV (ventilation) circuits - Select entities only created for HV/HK circuits - Climate control methods wrapped in try/except with HomeAssistantError - Climate + Fan use translation_key instead of hardcoded _attr_name - Dynamic entity discovery: new circuits detected at runtime trigger async_dispatcher_send, all platforms listen and add entities without restart - Added climate/fan translations to strings.json and en.json Co-Authored-By: Claude Opus 4.6 <[email protected]>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Major feature and quality release for the Hoval Connect integration:
asyncio.gather()for significantly faster polling cyclesensure_future, added debounce cleanup, extracted constantsFiles changed (16 files, +837 / -123)
climate.pyselect.pytests/test_coordinator.pycoordinator.py__init__.pyapi.pysensor.pyfan.pyconst.pyconfig_flow.pybinary_sensor.pystrings.json/translations/en.jsonmanifest.jsonCLAUDE.mdTest plan
pytest tests/)🤖 Generated with Claude Code