-
Notifications
You must be signed in to change notification settings - Fork 28
Configuration Louvered Roof
A cover type for a bioclimatic pergola or louvered roof β rotating slats mounted in a horizontal or gently pitched roof plane, turning around a fixed horizontal axis. The integration optimizes the slat angle to cut off direct sun while keeping the roof as open as possible for diffuse light and ventilation, then drives that angle through set_cover_tilt_position.
Choose Louvered roof in the cover-type picker when you add or reconfigure an instance.
A louvered roof is a tilt-only cover type. It commands a slat tilt percentage exactly like a venetian tilt blind β same slat geometry, same tilt modes, same position calibration β but the sun geometry behind that angle is computed against a roof plane instead of a vertical facade.
The two halves of this problem already existed in the integration, but never combined:
- A venetian / tilt blind optimizes the slat cut-off angle, but assumes the slats hang in a vertical window. The profile angle is measured against a vertical facade and the "window azimuth" has no meaningful equivalent for a roof, so the computed angles come out physically wrong.
- A roof window gets the tilted-plane sun geometry right (
roof_pitch, angle-of-incidence illumination), but it is a position-only cover β it models a shade sliding over pitched glass, with no slat-angle output.
The louvered-roof type is the cross-product: the venetian cut-off solver, driven by a profile angle taken against the roof plane and the slat-axis orientation.
The louvered roof reuses the venetian slat settings and adds one roof setting on top of the usual sun acceptance angles:
| Setting | Range | Default | Meaning |
|---|---|---|---|
| Slat Depth | 0.1β15 cm | 3 cm | Depth of one lamella, front to back. |
| Slat Distance | 0.1β15 cm | 2 cm | Center-to-center spacing between slats. |
| Tilt Mode | Mode1 / Mode2 | Mode2 (0β180Β°) |
Mode1 = 0β90Β° travel, Mode2 = 0β180Β°. Match your drive's physical range. |
| Maximum Tilt | 0β100 | 100 | Upper clamp on the tilt percentage the integration will command. |
| Minimum Tilt | 0β100 | 0 | Lower clamp on the tilt percentage. |
| Roof Pitch | 0β90Β° | 0Β° | The slope of the roof plane, measured from horizontal. 0Β° is a flat pergola roof (slat angle driven purely by solar elevation, independent of sun direction). A pitched pergola sits a few degrees up; 90Β° reduces exactly to a vertical venetian blind. |
| Maximum Slat Angle | 0β180Β° | 0 (use tilt mode) | The physical travel of your drive, in degrees, when it is neither exactly 90Β° nor 180Β°. Leave at 0 to use the tilt mode's range (90Β° for Mode1, 180Β° for Mode2). Set it to your drive's real maximum β e.g. 160 for a pergola that rotates through the vertical turnover and 70Β° beyond β and the integration maps the computed geometric angle against that range and clamps anything above it, instead of relying on your controller's own percentage mapping. |
The azimuth field is the slat-plane facing direction. The standard Azimuth on the sun-tracking screen is reused as the compass direction the slats "tilt toward" (perpendicular to the horizontal rotation axis). On a flat roof (pitch
0Β°) it has little effect because a flat roof is lit from every direction; on a pitched roof it orients the plane the way the roof window's azimuth does. The sun acceptance angle angles behave as usual and can restrict tracking to a slice of the sky.
The slat measurement diagram and calibration are identical to the Tilt page β measure one slat front-to-back for depth and center-to-center for spacing.
The cut-off geometry is a 2-D cross-section taken in the plane perpendicular to the rotation axis: given slats of depth d spaced s, find the tilt that just blocks a ray arriving at profile angle Ξ². That solver is orientation-agnostic β only Ξ² changes between a vertical venetian and a roof plane. The louvered-roof type takes Ξ² against the roof plane (using the same slope trigonometry as the roof window) and feeds it into the shared cut-off solver.
Two limits anchor the model and are verified in the test suite:
-
Flat roof (
0Β°), sun due-azimuth β the cut-off is a pure solar-elevation function:|Ξ²| = 90Β° β elevation. Overhead midday sun closes the slats flat; low morning/evening sun opens them. This is the complement of the vertical case β the profile is measured against the horizontal plane, not a vertical facade. -
Vertical (
90Β°) β the model reduces to the venetian/tilt engine bit-for-bit, so a louvered roof set vertical and a real venetian blind compute the same slat angle.
Illumination gate. Because a flat roof is lit from any azimuth once the sun clears the horizon, the vertical sun acceptance angle hemisphere test would be wrong. The louvered-roof type uses the same angle-of-incidence test as the roof window: direct sun is only considered when it strikes the working face of the roof plane. At pitch 0Β° that reduces to "the sun is above the horizon," independent of direction; on a pitched roof it behaves like the roof-window gate.
The most common surprise with this cover type: on a flat or shallow-pitched roof, solar tracking goes active well before the sun's compass bearing enters the acceptance arc you configured. That is by design, not a bug.
Both the illumination gate and the acceptance-angle test are evaluated in the roof plane. The integration projects the sun into that plane first, then compares the projected angle against your left and right acceptance angles. As the sun drops toward the horizon that projection compresses toward zero, so the effective arc widens β the acceptance angle "breathes" with sun height instead of holding a fixed compass window.
A worked example. A pergola at azimuth 265Β° with a 90Β°/90Β° acceptance angle looks like it should track only while the sun sits between 175Β° and 355Β°. At roof pitch 0Β°, with the sun due east (90Β°) and 20Β° above the horizon, the projected angle works out to roughly 13Β° β comfortably inside Β±90Β°, so tracking is active hours before the sun is anywhere near west. At pitch 0Β° the illumination gate reduces to "the sun is above the horizon" outright, because a flat roof genuinely has no front hemisphere to exclude.
This is the physically correct model. A flat pergola really is lit by an eastern sun, and the slats really do need to tilt for it. It only reads as wrong if you interpret the acceptance angle as a compass window, which is how it behaves on a vertical facade but not here.
If you want to restrict tracking anyway, three knobs work:
- Minimum elevation β usually the right one. The arc widens exactly when the sun is low, so an elevation floor cuts off the early-morning and late-evening tracking that most people are reacting to when they notice this.
- A blind spot wedge β blind spots on a tilted-plane cover are evaluated in the same roof-plane frame as the acceptance angle, so set the wedge against the projected angle in the diagnostic trace rather than against a raw compass bearing. Setting it from compass headings will not land where you expect.
-
Roof pitch β if your roof genuinely is pitched, entering the real value tightens the arc. As pitch approaches
90Β°the behavior converges on a vertical blind's compass-like window.
A flat roof is lit all day, and the sun crosses from one side of the slat rotation axis to the other as it moves across the sky. A vertical blind never has this problem β it only sees the sun on its front hemisphere β but a roof does, and the slats have to tilt toward whichever side the sun is on to block it.
The engine handles both sides. When the sun is on the facing side of the axis it realizes the cut-off angle as ΞΈ; once the sun crosses to the far side it realizes it as 180Β° β ΞΈ β the flipped slat face, past the horizontal (90Β°) turnover. This matters most in the evening: at a mid-latitude site in summer the sun can sit on the far side of the axis for hours of prime terrace time, and without the flip the slats would tilt the wrong way and let that sun straight through.
Your tilt mode and maximum slat angle decide how much of the far side the hardware can actually serve:
- Mode2 (0β180Β°) β the drive can rotate through the turnover, so it reaches the flipped face and blocks sun on both sides.
- Mode1 (0β90Β°) β the drive stops at horizontal and cannot reach the far branch, so it falls back to fully open on that side (it simply can't shade it).
- A drive with an in-between range (e.g. 0β160Β°) reaches most of the far side; set Maximum Slat Angle to its real travel so angles beyond it are clamped correctly.
At a roof pitch of 90Β° (a vertical installation) the far side is never lit β the angle-of-incidence gate excludes it β so the flip never triggers and the behavior is identical to a vertical venetian blind.
The diagnostic trace exposes which branch is active (louvered_far_side_branch) alongside the computed slat angle, so you can confirm the choice against your encoder feedback.
| Capability | Louvered roof |
|---|---|
| Slat tilt optimization | β |
| Tilt modes (0β90Β° / 0β180Β°) | β |
| Min / max tilt clamps + position calibration | β |
| Return to default when disabled | β |
| Roof pitch (horizontal β pitched) | β |
| Position (open/close) tracking | β β tilt-only |
| Glare zones | β |
A louvered roof requires a cover that advertises set_cover_tilt_position; if none of the bound covers support it the integration warns during setup. The full decision pipeline β weather safety, manual override, motion, climate, custom positions, and defaults β applies unchanged, since the slat angle flows through the standard tilt axis.
-
Start flat. For a standard bioclimatic pergola with a level roof, leave Roof Pitch at
0Β°. You only need to change it if the whole roof plane is tilted. -
Use Mode2 if your slats rotate past horizontal. Most pergola drives travel through the vertical turnover (
Mode2, 0β180Β°) so they can shade the sun on both sides of the axis. A drive that only rotates a quarter turn isMode1(0β90Β°) and can only shade the facing side. -
Set Maximum Slat Angle for anything other than 90Β° or 180Β°. If your drive's real travel is, say, 0β160Β°, enter
160rather than leaving it at0. Otherwise the tilt percentage is scaled against the mode's 90Β°/180Β° and lands on the wrong physical angle. Leave it at0when the drive genuinely matches the mode. - Slat depth and spacing matter most for the cut-off point. They set how far the slats must close before a ray is fully blocked β measure them rather than guessing.
-
Encoder feedback helps verify. If your controller reports
current_tilt_positionreliably, compare the commanded slat angle in the diagnostic trace β including thelouvered_far_side_branchflag β against the physical angle to confirm the geometry for your latitude, on both the morning and evening sides of the axis.
- Cover Types β the full cover-type comparison
- Tilt β the shared slat geometry and tilt-mode calibration
- Roof / Skylight Window β the tilted-plane sun geometry this type reuses
- Sun Tracking β azimuth, sun acceptance angle, and elevation limits
-
Diagnostic Sensors β the
solar_calculationtrace exposes the roof-plane and slat-angle intermediates
π Home Β· β¨ Features Β· π° What's New
π Getting Started
- Installation
- Migrating from Custom Repository
- Migrating from Adaptive Cover
- First-Time Setup
- Building Profile β start here if you have multiple covers
- Cover Groups
- Copy Settings to Other Covers
- Cover Types
π§ Core Concepts
π Cover Types
- Vertical
- Horizontal
- Oscillating Awning
- Roof / Skylight Window
- Tilt
- Louvered Roof
- Sliding Curtain
- Day/Night Shade
- Dual Panel
- Venetian (Dual-Axis)
βοΈ Configuration
- Sun Tracking
- Position
- Position Matching
- Travel Time Calibration
- Glare Zones
- Automation
- Manual Override
- Command Queue
- Custom Position
- Force Override
- Weather Safety
- Climate
- Templated Thresholds
- Template Self-References
- Blindspot
- Summary Screen
- Debug & Diagnostics
π Entities & Services
- Entities
- Proxy Cover Entity
- Position Verification
- My Position Support (Somfy RTS)
- Runtime Configuration Services
π οΈ Operations
- Known Limitations
- Hardware Compatibility
- Troubleshooting
- Troubleshooting Findings
- Diagnostic Sensors
- Tips and Tricks
π§ Advanced Use Cases
- Overview
- Dynamic Temperature Thresholds
- Dynamic Tracking Window
- Bedroom Sleep Mode
- Handling Variable Cloud Cover
- Indoor Lux Sensor Behind the Cover
- Venetian Tilt-Only on Overcast Days
- Forecast-Based Shading
- Custom Position When Sun in FOV
- Suppress Closing While a Door Is Open
- Keep a Blind Clear of the Sill
π¨ Dashboard
- Dashboard Cards
- Panel Card
- Tile Card
- Sky Compass Card
- Decision Strip Card
- Solar Chart Card
- History Card
π§ͺ Testing & Simulation
π Reference
π©βπ» For Developers