|
| 1 | +One new venetian capability and a forecast accuracy fix. Custom position slots on venetian blinds can now adjust slat angle only, leaving the lift position under normal pipeline control. A separate fix corrects how the forecast evaluates sunrise/sunset gates — each sample in a full-day projection now uses its own timestamp rather than the current wall-clock time. |
| 2 | + |
| 3 | +--- |
| 4 | + |
| 5 | +## 🚀 Features |
| 6 | + |
| 7 | +### Venetian tilt-only override for custom position slots ([#514], [#515]) |
| 8 | + |
| 9 | +Custom position slots on venetian blinds gain a per-slot `CONF_CUSTOM_POSITION_TILT_ONLY` option (default off, matching `DEFAULT_CUSTOM_POSITION_TILT_ONLY` = `False`). |
| 10 | + |
| 11 | +- When enabled, activating that custom slot adjusts only the slat tilt axis. The lift (primary) axis continues to follow normal pipeline logic — solar tracking, climate overrides, and other handlers all remain active for cover position. |
| 12 | +- When disabled (the default), the slot behaves exactly as before: full dual-axis override. |
| 13 | +- The new option is plumbed through `pipeline/tilt_axis.py`, `pipeline/handlers/custom_position.py`, and surfaces in the config flow and options service. |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +## 🐛 Fixes |
| 18 | + |
| 19 | +### Forecast sunset gate now evaluated at each sample's own timestamp ([#516], [#517]) |
| 20 | + |
| 21 | +The forecast engine's sunrise/sunset gate — which gates `direct_sun_valid` and `next_sunrise` checks — was previously evaluated once at wall-clock "now" and applied uniformly to every sample in a multi-hour projection. Samples far ahead in the day were therefore blocked or passed based on the current moment's sun state rather than their own position in time. |
| 22 | + |
| 23 | +- Each forecast sample is now evaluated at its own timestamp, so a full-day forecast correctly reflects sunrise and sunset transitions across the projection window. |
| 24 | +- Changes are in `engine/covers/base.py`, `engine/sun_geometry.py`, `forecast.py`, and `sun.py`. |
| 25 | + |
| 26 | +**Internal tooling:** nightly tags are now excluded from the release-lifecycle previous-tag lookup, preventing CI from picking up interim nightly builds when computing changelogs. |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## Compatibility |
| 31 | + |
| 32 | +- Home Assistant 2026.3.0+ |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +## References |
| 37 | + |
| 38 | +[#514]: https://github.com/jrhubott/adaptive-cover-pro/issues/514 |
| 39 | +[#515]: https://github.com/jrhubott/adaptive-cover-pro/pull/515 |
| 40 | +[#516]: https://github.com/jrhubott/adaptive-cover-pro/issues/516 |
| 41 | +[#517]: https://github.com/jrhubott/adaptive-cover-pro/pull/517 |
0 commit comments