https://github.com/jrhubott/adaptive-cover-pro
Adaptive sun-tracking cover control for Home Assistant: blinds, awnings, and venetian tilts with climate-aware positioning and a priority override pipeline.
https://github.com/jrhubott/adaptive-cover-pro
adaptive-control asyncio awning blinds climate-control covers custom-component custom-integration hacs hacs-integration home-assistant home-automation homeassistant python smart-home solar-position sun-tracking venetian-blinds
Last synced: 17 days ago
JSON representation
Adaptive sun-tracking cover control for Home Assistant: blinds, awnings, and venetian tilts with climate-aware positioning and a priority override pipeline.
- Host: GitHub
- URL: https://github.com/jrhubott/adaptive-cover-pro
- Owner: jrhubott
- License: mit
- Created: 2026-01-28T18:42:20.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-05-23T06:13:24.000Z (20 days ago)
- Last Synced: 2026-05-23T08:30:14.754Z (20 days ago)
- Topics: adaptive-control, asyncio, awning, blinds, climate-control, covers, custom-component, custom-integration, hacs, hacs-integration, home-assistant, home-automation, homeassistant, python, smart-home, solar-position, sun-tracking, venetian-blinds
- Language: Python
- Homepage:
- Size: 7.31 MB
- Stars: 86
- Watchers: 1
- Forks: 10
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Funding: .github/FUNDING.yaml
- License: LICENSE
Awesome Lists containing this project
README






# Adaptive Cover Pro
Sun-tracking cover automation with an inspectable decision pipeline, full venetian sequencing, glare zones, and a seasonal climate arbiter — for Home Assistant.
> Full documentation lives on the [Wiki](https://github.com/jrhubott/adaptive-cover-pro/wiki).
---
## What it does
- **Four cover types with full geometric modeling** — vertical blinds, horizontal awnings, tilt-only blinds, and venetian blinds; each uses real window and facade geometry, not rules of thumb.
- **Inspectable decision pipeline** — 10 handlers run in priority order (safety, weather, manual, climate, glare, solar) and each reports its reason. A `decision_trace` sensor shows exactly why the cover is at 45% — no black boxes.
- **Venetian blinds done properly** — dual-axis sequencer waits for the carriage to settle before sending tilt, handles back-rotation across a 45-second post-settle window, and pre-positions tilt on opening to eliminate flicker. Covers KNX, Shelly, and Somfy IO buses.
- **Climate mode with a full seasonal arbiter** — winter heating, winter insulation, summer cooling, and glare comfort each have independent logic; presence, lux, irradiance, and cloud cover are all suppression inputs.
- **Glare zones** — name the floor areas you want protected (TV, dining table); the cover deploys further than pure sun tracking when a protected zone would receive direct sun.
- **15 runtime services** — every parameter is scriptable from automations; no UI interaction needed to change mode, position limits, or overrides at runtime.
More detail: **[How It Decides](https://github.com/jrhubott/adaptive-cover-pro/wiki/How-It-Decides)** · **[Climate Mode](https://github.com/jrhubott/adaptive-cover-pro/wiki/Climate-Mode)** · **[Enhanced Geometric Accuracy](https://github.com/jrhubott/adaptive-cover-pro/wiki/Enhanced-Geometric-Accuracy)**
## Companion Lovelace card
Pair with the **[Adaptive Cover Pro Card](https://github.com/jrhubott/adaptive-cover-pro-card)**, a custom Lovelace card that shows the full pipeline decision trace, a polar sun compass, live cover positions, and inline override controls — all in one card. HACS-installable. See the **[Lovelace Card](https://github.com/jrhubott/adaptive-cover-pro/wiki/Lovelace-Card)** wiki page for setup and configuration.

---
## Quick install
**HACS (recommended):** In HACS, search **Adaptive Cover Pro**, download, restart Home Assistant, then add the integration.
**Manual:** Copy `custom_components/adaptive_cover_pro/` into `config/custom_components/`, restart Home Assistant, and add the integration.
Full steps: **[Installation](https://github.com/jrhubott/adaptive-cover-pro/wiki/Installation)** · **[First-Time Setup](https://github.com/jrhubott/adaptive-cover-pro/wiki/First-Time-Setup)**
## Documentation
| | |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🚀 **Getting started** | [Installation](https://github.com/jrhubott/adaptive-cover-pro/wiki/Installation) · [First-Time Setup](https://github.com/jrhubott/adaptive-cover-pro/wiki/First-Time-Setup) · [Cover Types](https://github.com/jrhubott/adaptive-cover-pro/wiki/Cover-Types) · [Migrating from Adaptive Cover](https://github.com/jrhubott/adaptive-cover-pro/wiki/Migrating-from-Adaptive-Cover) |
| 🧠 **How it works** | [How It Decides](https://github.com/jrhubott/adaptive-cover-pro/wiki/How-It-Decides) · [Basic Mode](https://github.com/jrhubott/adaptive-cover-pro/wiki/Basic-Mode) · [Climate Mode](https://github.com/jrhubott/adaptive-cover-pro/wiki/Climate-Mode) · [Enhanced Geometric Accuracy](https://github.com/jrhubott/adaptive-cover-pro/wiki/Enhanced-Geometric-Accuracy) |
| 🎨 **Dashboard** | [Lovelace Card](https://github.com/jrhubott/adaptive-cover-pro/wiki/Lovelace-Card) — install, configure, and use the companion card that visualizes the full pipeline |
| ⚙️ **Configuration** | [Sun Tracking](https://github.com/jrhubott/adaptive-cover-pro/wiki/Configuration-Sun-Tracking) · [Glare Zones](https://github.com/jrhubott/adaptive-cover-pro/wiki/Configuration-Glare-Zones) · [Weather Safety](https://github.com/jrhubott/adaptive-cover-pro/wiki/Configuration-Weather-Safety) · [Climate](https://github.com/jrhubott/adaptive-cover-pro/wiki/Configuration-Climate) · [Summary Screen](https://github.com/jrhubott/adaptive-cover-pro/wiki/Configuration-Summary-Screen) |
| 🔌 **Entities & services** | [Entities](https://github.com/jrhubott/adaptive-cover-pro/wiki/Entities) · [Runtime Configuration Services](https://github.com/jrhubott/adaptive-cover-pro/wiki/Runtime-Configuration-Services) · [Position Verification](https://github.com/jrhubott/adaptive-cover-pro/wiki/Position-Verification) · [Somfy RTS (My Position)](https://github.com/jrhubott/adaptive-cover-pro/wiki/My-Position-Support-Somfy-RTS) |
| 🛠️ **Operations** | [Troubleshooting](https://github.com/jrhubott/adaptive-cover-pro/wiki/Troubleshooting) · [Known Limitations](https://github.com/jrhubott/adaptive-cover-pro/wiki/Known-Limitations) |
## Support
If Adaptive Cover Pro has been useful, you can support the project:
[](https://www.buymeacoffee.com/jrhubott)