Skip to content

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 04:08
· 52 commits to main since this release

Highlights: The cover bar and sky compass visual language now form a coherent whole — cover-bar fill colors match the compass wedges, an override wedge shows the gap between commanded and actual position, and the sun dot distinguishes three states (hitting, in-FOV-not-valid, outside-FOV) so users can diagnose solar-control behavior at a glance. Tile controls reflow to their own row in narrow Sections columns, and every card now declares getGridOptions() so the HA Sections layout sizes cards correctly without manual tuning. The legend loses its redundant sun entries and gains a single "Sun" entry. Bundle grew ~5.7 KB (228,900 → 234,747 bytes).

✨ Features

  • getGridOptions() declared on all three card types (#143) — The main card, sky-compass card, and tile card now implement getGridOptions(), telling the Sections layout the card's default column span, row count, and min/max bounds. The main card scales its row count with the number of visible sections. Without this, HA would size every card identically and resizing was erratic.

  • Override actual-vs-target wedge on the sky compass (#132, #142) — When a cover is under manual or force override, the compass renders a second wedge via overrideDivergenceTarget() in src/lib/geometry.ts to visualise the gap between the integration-commanded position and where the cover physically sits. The window segment color on the main-card compass follows the same override state, so the two visuals stay in sync.

  • Tile controls reflow in narrow Sections columns (#136, #139) — Tile card layout now uses CSS container queries (container-type: inline-size) instead of viewport media queries. Below 340 px card width the controls row drops to its own line, preventing icon and label truncation in narrow Sections columns where @media is blind to the actual column width.

  • Cover bar colors match the sky compass (#135, #140) — The cover-bar fill now uses the same gold/blue palette as the compass wedges: the open segment is gold, the closed segment is the selected cover color. The percentage label shifts left to clear the bar edge.

  • 3-way sun dot state (#137, #138) — A new pure helper src/lib/sun-dot-state.ts classifies the sky-compass and elevation-chart sun dot as gold (hitting), light-yellow (in_fov_not_valid), or dim (outside_fov). The authoritative source is the decision_trace.sun_state attribute introduced in integration PR #554; on older integration builds the card falls back to deriving the same three states from direct_sun_valid + sun_position.in_fov.

  • cursor: default on all tooltips (#134, #141) — Tooltip elements across the full card suite switch from cursor: help to cursor: default, removing the misleading question-mark cursor on non-interactive elements.

  • Collapsed Sun legend entry — The sky-compass legend previously listed separate swatches for each above-horizon sun state. These collapse into a single "Sun" entry, removing the .sun.in-fov CSS rule and the compass.in_fov i18n key.

🐛 Fixed

  • Cover bar closed segment color (#135) — Two earlier iterations painted the open/closed segments in the wrong colors or used hard-coded values that ignored the cover's configured color. The closed segment now always uses the selected cover color; the open segment is gold to match the compass hitting-sun wedge.

📦 Install / Upgrade

Through HACS, update to v2.5.0. Restart is not required for the card; reload your browser or dashboard.

HA caches ES modules aggressively. After updating, bump the ?v=2.5.0 query string on your Lovelace resource URL (/hacsfiles/adaptive-cover-pro-card/adaptive-cover-pro-card.js?v=2.5.0) to ensure browsers pick up the new bundle. A hard-refresh alone is not sufficient.

No config migration needed. All changes are additive or visual corrections; existing configs work without modification.

Compatibility: Home Assistant 2024.1+, Adaptive Cover Pro integration v2.22.1-beta.3 or newer. The authoritative sun-dot path (#137) requires an integration build that includes decision_trace.sun_state (integration PR #554); the card falls back gracefully on older builds.