Skip to content

Features

Jason Rhubottom edited this page Jun 7, 2026 · 4 revisions

Features

Core sun tracking

Cover support

  • Position-capable and open/close-only covers, detected automatically at runtime
    • Configurable threshold for open/close decision (default 50%)
  • Tilt-only covers (Z-Wave, some KNX): entities that expose only SET_TILT_POSITION are routed through set_cover_tilt_position automatically, regardless of the configured cover type
  • Inverse state support for covers that report position with reversed semantics

Safety & overrides

  • Force Override: binary sensors (rain, wind, window-open, fire-alarm, etc.) move covers to a configured safe position at top priority (100)
    • Default position 0% (fully retracted) or customizable (e.g. 100% for security sensors)
    • Minimum position mode: treat the override position as a floor rather than a fixed target
    • Manual control still works during force override
  • Weather safety (priority 90): wind speed, rain rate, or severe-weather binary sensors trigger retraction with a configurable recovery timeout
  • Manual override (priority 80): automatic detection of physical/app/voice cover moves pauses automatic control; persists across HA reboots and integration reloads
  • Motion-based automatic control (priority 75): OR logic across any number of occupancy sensors; when none have detected motion for the configured timeout (30–3600 s, default 300 s), covers return to default. Leave the sensor list empty to disable.

Climate & light

  • Climate mode: temperature-aware winter / summer / intermediate strategy with optional presence, weather, lux, and irradiance inputs; a dedicated switch toggles it on/off and a Climate Status sensor reports the current strategy
  • Glare zones (vertical blinds only, priority 45): protect named floor areas from direct sunlight; each zone has distance, width, and priority
  • Cloud suppression (priority 60): lux, irradiance, cloud coverage, or a weather entity's state can suppress solar tracking and return the cover to default; sensor changes trigger immediate re-evaluation
  • Blind spot: angular range within the field of view where a tree, pillar, or neighbouring building blocks direct sun

Adaptive control

  • Master Integration Enabled kill switch + per-instance Automatic Control toggle
  • Optional return to default position when automatic control is disabled
  • Start / end time window (fixed clock times or driven by sensors / input_datetime)
  • Minimum position change and minimum interval between moves
  • Custom positions: up to 4 sensor-triggered positions, each with its own priority (1–99, default 77)
  • Automatic Position Verification: every minute, confirms covers reached the commanded position; up to 3 retries before backing off; respects manual override, Automatic Control, Integration Enabled, and the time window (see Position Verification)

Runtime configuration

  • 15 runtime configuration services: adaptive_cover_pro.set_position_limits, set_sunset_sunrise, set_automation_timing, set_manual_override, set_force_override, set_custom_position, set_motion, set_light_cloud, set_climate, set_weather_safety, set_sun_tracking, set_blind_spot, set_interpolation, set_geometry, and the set_option escape hatch
  • Change any setting from automations, scripts, or templates without opening the Options UI; all changes persist across restarts and trigger a full integration reload
  • See Runtime Configuration Services for the full reference

Diagnostics & troubleshooting

  • Always-on diagnostic sensors (diagnostic entity category, no setup required): 10 always-created plus up to 3 conditional (see Debug & Diagnostics):
    • Sun Position: azimuth, elevation, gamma, FOV bounds, in_fov
    • Control Status: why covers are/aren't moving, delta thresholds, time since last action
    • Decision Trace: full pipeline evaluation showing which handler won and why; position_explanation on the Target Position sensor shows the complete chain (e.g. "Sun tracking (45%) β†’ Climate: Winter Heating β†’ 100%")
    • Last Skipped Action: most recent suppressed move with reason, position delta, and thresholds
    • Last Cover Action: most recent cover command with full details
    • Manual Override End Time: when automatic control will resume; persists across reboots
    • Position Verification: last check time and retry count per cover
    • Motion Status: motion control state; shows not_configured when no motion sensors are set up
    • Climate Status (when climate mode is configured): active temperature and climate strategy
    • Force Override Triggers (when force override sensors are configured): count and per-sensor status
    • Position Mismatch binary sensor (disabled by default): true when any cover is outside the position tolerance
  • Debug Mode: toggle INFO-level category logs (manual override, reconciliation, pipeline, motion) + a rolling ring buffer included in diagnostics downloads; no configuration.yaml edits required
  • Angle-dependent safety margins for better sun blocking at extreme angles
  • Automatic edge case handling for very low (<2Β°) and very high (>88Β°) sun elevations
  • Smooth transitions across all sun angles using smoothstep interpolation
  • Optional Window Depth parameter for advanced precision with deep reveals
  • Optional Sill Height for raised windows
  • Backward-compatible: existing installations benefit immediately; window_depth=0 and sill_height=0 are identical to earlier versions

Configuration Summary (built-in review screen)

  • Shown as the final step of initial setup and available any time from the options menu
  • Organized into four sections, only rendering what is actually configured:
    • Your Cover: what is being controlled and the physical window dimensions
    • How It Decides: narrative explanation of every active rule in priority order
    • Position Limits: default position, min/max range, delta thresholds, and flags (inverse state, interpolation) on one line
    • Decision Priority: compact one-line reference of all 10 pipeline handlers with βœ… / ❌ status
  • Cover Warnings: flags open/close-only covers, assumed_state, mixed capabilities across entities, and configured position limits that will never apply; hidden when nothing is flagged

Clone this wiki locally