-
Notifications
You must be signed in to change notification settings - Fork 14
Advanced Use Cases Venetian Tilt Only
On a venetian blind, an overcast sky is the ideal time to open the slats fully: there's no direct sun to filter, so flat-open slats give the most daylight and the cleanest view. But you usually still want the carriage β how far the blind hangs down β to keep following the sun-tracking algorithm, so the blind is already in the right place when the sun returns.
This recipe wires a cloud sensor to a Custom Position slot in tilt-only mode: when it's overcast, the slats snap fully open while solar tracking keeps deciding the carriage position. When the sun comes back, tracking resumes control of both axes with no manual override and no fuss.
Venetian covers only. Tilt-only mode is a venetian (dual-axis) feature. On vertical blinds, awnings, and single-axis tilt covers the option doesn't appear.
| Approach | Limitation |
|---|---|
| Cloud suppression | Moves the carriage to a fixed cloudy position, but has no companion tilt setting β the slat angle stays engine-derived and can't be pinned open. |
An HA automation calling cover.set_cover_tilt_position |
A direct tilt command marks the cover as manually overridden and pauses ACP automation until the override clears. |
| A normal Custom Position slot | Claims both axes β pinning the slats also freezes the carriage, so the blind stops following the sun. |
Tilt-only mode is the purpose-built answer: it claims the tilt axis only and leaves position under the pipeline.
Any binary sensor works. A simple lux-threshold Template Binary Sensor with a delay_on keeps brief cloud passages from flapping the slats:
template:
- binary_sensor:
- name: "Overcast No Direct Sun"
unique_id: overcast_no_direct_sun
state: "{{ states('sensor.outdoor_lux') | float(0) < 15000 }}"
delay_on:
minutes: 5
delay_off:
minutes: 3Adjust the threshold to your climate β pick a value that sits clearly below bright/sunny readings but above genuine dusk. You can also use a weather-state sensor, an is_sunny debounced sensor, or any other condition you like; tilt-only mode doesn't care where the signal comes from. See Handling Variable Cloud Cover for robust hysteresis patterns if your lux readings are noisy.
In the integration's options, open Custom Position and fill in one slot:
| Setting | Value |
|---|---|
| Custom Position Sensor | binary_sensor.overcast_no_direct_sun |
| Tilt for Slot |
100 (fully open slats) |
| Tilt Only | β On |
| Priority | leave default (77) |
The Custom Position value, Minimum Mode, and Use My Preset are all ignored for a tilt-only slot β only the Tilt value is used. (If you leave one of those on, the config summary flags it with a warning.)
The configuration summary renders the slot like this:
π― Custom #1: if binary_sensor.overcast_no_direct_sun is on β tilt only
(slat fixed at 100%; position driven by sun tracking) [P77]
Overcast (sensor on):
... β Custom #1 (tilt only: slats β 100%) β Solar (40: drives carriage) β ...
Sunny again (sensor off):
... β Solar (40: drives BOTH carriage and slats) β ...
- Overcast: slats open to 100%, carriage stays wherever solar tracking puts it.
- Sunny: the slot drops out entirely and solar tracking resumes control of both axes β slats angle to filter the sun, carriage tracks as normal.
- No manual override is ever set, so automation never pauses.
Because the trigger is just a binary sensor, you can encode richer logic in a template sensor β e.g. "overcast and during the day and someone's home":
template:
- binary_sensor:
- name: "Overcast Daytime Occupied"
state: >
{{ states('sensor.outdoor_lux') | float(0) < 15000
and not is_state('sun.sun', 'below_horizon')
and is_state('binary_sensor.home_occupied', 'on') }}
delay_on:
minutes: 5You can also run multiple tilt-only slots at different priorities β say, slats fully open when merely overcast, but a tighter angle for a privacy condition at a higher priority. The highest-priority active tilt-only slot wins the tilt axis. See Custom Position β Tilt-only mode for the priority and global-mode interaction details.
Check sensor.{your_device}_decision_trace. With a tilt-only slot active you'll see solar winning the position axis and the custom_position slot reporting its fixed slat angle on the tilt axis β the position is explicitly handed off to sun tracking, not claimed by the slot.
- Custom Position: full custom-slot reference, including the tilt-only behavior section
- Venetian (Dual-Axis) Blinds: how venetian covers resolve position and tilt
- Handling Variable Cloud Cover: debouncing noisy lux sensors
- How It Decides: the full priority chain
- Advanced Use Cases: all advanced use case recipes
π Home Β· β¨ Features Β· π° What's New
π Getting Started
- Installation
- Migrating from Custom Repository
- Migrating from Adaptive Cover
- First-Time Setup
- Cover Types
π§ Core Concepts
π Cover Types
βοΈ Configuration
- Sun Tracking
- Position
- Position Matching
- Glare Zones
- Automation
- Custom Position
- Force Override
- Weather Safety
- Climate
- Templated Thresholds
- Blindspot
- Summary Screen
- Debug & Diagnostics
π Entities & Services
- Entities
- Proxy Cover Entity
- Position Verification
- My Position Support (Somfy RTS)
- Runtime Configuration Services
π οΈ Operations
π§ Advanced Use Cases
- Dynamic Temperature Thresholds
- Dynamic Tracking Window
- Bedroom Sleep Mode
- Handling Variable Cloud Cover
- Venetian Tilt-Only on Overcast Days
- Forecast-Based Shading
π¨ Dashboard
π§ͺ Testing & Simulation
π Reference
π©βπ» For Developers