Adaptive Cover Pro ⛅ v2.29.0-beta.1
Pre-releaseℹ Using release notes from: release_notes/v2.29.0-beta.1.md
Highlights
This is the first beta of the 2.29 series. It ships four new capabilities — end-of-window close position, daytime gating of sunset/sunrise automation, Jinja template support for is_sunny/presence/weather conditions, and honoring the configured sun-tracking min position during summer climate close — plus two bug fixes. All new features are opt-in with None defaults and require no reconfiguration on existing installs. Testing and feedback are welcome before the stable release.
Added
-
End-of-window close position (#625, #647): A new optional setting lets you configure a fixed close position that applies when the automation window ends, independently of sunset behavior. Previously the only options were the sunset position or the default. Setting
CONF_END_OF_WINDOW_POSmakes the cover move to a specific position at end-of-window; leaving it unset (None) preserves existing behavior exactly. Existing installs need no action. -
Daytime gate for sunset/sunrise automation (#632, #641): Sunset and sunrise position changes can now be gated on a binary sensor (
CONF_GATE_ENTITY) or a Jinja template (CONF_GATE_TEMPLATE). When the gate is inactive, the integration skips the sunset/sunrise position push — useful for installs where the sun schedule should not apply on cloudy days or during occupancy patterns. Both options default toNone; existing installs are unaffected. -
Jinja template option for is_sunny, presence, and weather sensors (#639, #646): The is_sunny, presence, weather-is-raining, and weather-is-windy inputs now accept Jinja2 templates in addition to entity IDs. Four new template keys (
CONF_IS_SUNNY_TEMPLATE,CONF_PRESENCE_TEMPLATE,CONF_WEATHER_IS_RAINING_TEMPLATE,CONF_WEATHER_IS_WINDY_TEMPLATE) and corresponding template-mode toggles (CONF_IS_SUNNY_TEMPLATE_MODE,CONF_PRESENCE_TEMPLATE_MODE,CONF_WEATHER_IS_RAINING_TEMPLATE_MODE,CONF_WEATHER_IS_WINDY_TEMPLATE_MODE) are available. Templates are resolved viarender_condition_or_none()andfold_condition_template(). All keys default toNone; existing entity-based configurations continue to work without change. -
Sun-tracking min position honored in summer climate close (#631, #648): The summer climate close path in
ClimateCoverState.get_state()now callsapply_snapshot_limits()before returning a position, which means the configured sun-tracking minimum position is respected. Previously, a summer-close command could move the cover below the sun-tracking min. No configuration change is needed; the behavior refinement applies automatically.
Fixed
-
Template keys for is_sunny/presence/weather now registered in
SYNC_CATEGORIES(#649): The four template-mode config keys (CONF_IS_SUNNY_TEMPLATE_MODE,CONF_PRESENCE_TEMPLATE_MODE,CONF_WEATHER_IS_RAINING_TEMPLATE_MODE,CONF_WEATHER_IS_WINDY_TEMPLATE_MODE) added in #639 were missing fromSYNC_CATEGORIESinconfig_flow.py, which controls which option keys propagate across related config entries. This fix ensures the template-mode selections sync correctly. -
Oscillating awning arm_length UI cap raised to 6 m (#636, #640): The
_RANGE_ARM_LENGTHupper bound in the config UI was capped below the real-world maximum, blocking users with longer arms from entering accurate values. The cap is now 6.0 m. Thanks to @muhamedfazalps (#637) for surfacing this. -
Resolved options used on apply-user-position path (#643, #644):
async_apply_user_position()was reading raw config-entry options rather than_resolved_options, so any option that requires rendering (such as template-based thresholds) arrived unrendered on the manual-control path. The fix ensures the resolved cache is used, consistent with the scheduled update path.
Testing
- Full suite at 4639 passing.
Compatibility
Requires Home Assistant 2026.3.0+. The companion Lovelace card (jrhubott/adaptive-cover-pro-card) is a separate repo with its own release cycle.