Hi all — sharing two paired projects for sun-aware cover automation in Home Assistant.
Adaptive Cover Pro is a custom integration that controls vertical blinds, horizontal awnings, and venetian (tilt) blinds based on sun position. It filters direct sunlight while maximizing natural light, with climate-aware operation (winter heat-gain vs. summer shading) and a 10-handler override pipeline for force-overrides, weather safety, manual override, motion, and more.
Adaptive Cover Pro Card is the companion Lovelace card. One glance tells you what the integration is doing, why it decided that, and how to take over.
Standalone Sky Compass card in the bundle accepts multiple integration entries and overlays them on one compass
Install
Integration (HACS): search "Adaptive Cover Pro" in HACS → Integrations
Card (HACS): add https://github.com/jrhubott/adaptive-cover-pro-card as a custom repository (category: Lovelace), then install "Adaptive Cover Pro Card"
This thread is a fine place to share setups, screenshots, and general questions, but actionable bugs and feature requests are tracked on GitHub.
Credits
Inspired by and originally forked from Adaptive Cover by Bas Brussee (@basbruss). ACP has since grown into a substantially different codebase with a new architecture and feature set.
v2.21.5 (stable) is out — the latest in the 2.21 line of small reliability fixes.
Highlights
The managed cover entity now mirrors transient opening/closing state from the underlying physical cover, so dashboards and automations that read state from the proxy entity no longer see it stuck at open/closed during movement.
Venetian blinds with a custom-position or default/sunset handler tilt configured in v2.21.3 now apply that tilt correctly on non-SOLAR control methods — a logic-order bug was stripping handler-supplied tilt on every cycle.
v2.22.0-beta.3 wraps a nine-phase internal refactor (coordinator responsibility distributed into managers/, state/, pipeline/, and cover_types/ — ~640 lines lighter in the coordinator alone), a post-settle cap-grace fix that eliminates false manual-override on KNX, Shelly 2PM, FGR223 and similar actuators, config-flow plumbing consolidated, and an options-flow fix for the "Is Sunny" sensor that wouldn't clear.
Just found this integration this morning, and looks like a great evolution from the original Adaptive Cover integration. With the original, I still had to maintain automations to control turning automation on/off because of certain conditions. This seems to cover every configuration option I could think of, and much more! I've set up 1 blind as a test, and envision moving all my blind control over.
My only question, derived from having the terribly unreliable Fyrtur blinds, does the integration have a check/retry system built in to ensure the blind properly responded to the command?
I had not checked the integration in several weeks and I now see there is an adaptive-cover-pro-card and wow...this looks so practical for setting up/debugging!
Add https://github.com/jrhubott/adaptive-cover-pro-card as a custom repository (category: Lovelace).
This stable release rolls up four beta cycles. The headline additions:
Roof/skylight window cover type — pitch-aware sun geometry for windows set into a sloped roof. Set the roof pitch and the window's height above the floor and shading is computed on the tilted plane instead of a vertical pane. (This closes the oldest open feature request.)
Building profiles — a virtual entry that holds shared building-level weather and climate sensors once and propagates them live to every linked cover, so you stop re-entering the same sensors on each cover. Linked covers can override any inherited sensor locally, and there's an overview screen comparing all linked covers side by side.
Sun Tracking switch — pause solar tracking at runtime (no reload) while keeping glare-zone protection active: the cover stops following the sun but still closes when the sun would shine into the room. Defaults on, so existing installs are unchanged. Thanks to @Zhephyr54 for contributing this.
Three blind-spot slots with per-slot elevation modes (block intrusion below or above a threshold), up from one.
Ten custom-position slots, up from five.
Endpoint-aware open/close — open/close now drives the carriage to its physical endpoints when the cover supports set_position, with an opt-in delta gate for mechanically coupled covers.
Weather override master toggle, opt-in summer-close sun-floor bypass, a venetian drift-reset cycle (configurable threshold and direction — thanks @vaind for the back-rotation fix), manual override from external input sensors (e.g. a wall switch via a Shelly input), a new set_tilt service, and a live solar_calculation diagnostic sensor.
Upgrading from v2.29.0 needs no reconfiguration — every new option defaults to off or empty, and the weather-toggle migration keeps existing installs behaving exactly as before. Full notes and the complete fix list are in the release link above.
As always, feedback and bug reports are welcome here or on GitHub. Thanks to everyone who tested the betas.
If I manually control the cover with the physical remote, Home Assistant doesn’t receive the state change. Because of that, Adaptive Cover Pro overrides my manual action since it still thinks the cover is in its previous position. Is this something Adaptive Cover Pro can work around, or is it a limitation of my somfy shutters?