Time: 06:00 07:00 08:00 09:00
ββββββββββββββΌβββββββββββββΌβββββββββββββ€
Early β Late
βΌ β βΌ
Brightness/
Sun: ββββββββββββββΌββββββββββββββββββββββββ
Too dark β Bright enough
β
βΌ
Cover opens here
(threshold reached)
Behavior:
ββ Before 06:00 (Early): β Cover stays closed
ββ 06:00-08:00: β
Opens when brightness/sun > threshold
ββ After 08:00 (Late): β
Opens ALWAYS (regardless of sensors)
Time: 16:00 18:00 20:00 22:00
ββββββββββββββΌβββββββββββββΌβββββββββββββ€
Early β Late
βΌ β βΌ
Brightness/
Sun: βββββββββββββββββββββββββΌβββββββββββββ
Bright enough β Too dark
β
βΌ
Cover closes
(below threshold)
Behavior:
ββ Before 16:00 (Early): β Cover stays open
ββ 16:00-22:00: β
Closes when brightness/sun < threshold
ββ After 22:00 (Late): β
Closes ALWAYS (regardless of sensors)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MORNING - Opening Behavior β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Brightness/ β
β Elevation βββββββββββββββββββββββββββββββββββ β
β β² β
β Threshold ββββββββββββββββββΌβββββββββββββββββββββββ β
β β β
β Time: 05:00 06:00 07:00 08:00 09:00 β
β ββββββββββΌβββββββββΌβββββββββΌβββββββββ€ β
β β Earlyβ β Late β β
β β βΌ β βΌ β
β β
β Status: π CLOSED π CLOSED π OPENS π OPEN β
β β
β β οΈ Important: β
β β’ Before Early: No action (even if bright) β
β β’ Early-Late: Opens when threshold exceeded β
β β’ After Late: Opens GUARANTEED (forced if needed) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EVENING - Closing Behavior β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Brightness/ β
β Elevation ββββββββββββββββββββββββββββββββββββββ β
β βΌ β
β Threshold ββββββββββββββββββΌβββββββββββββββββββββββ β
β β β
β Time: 16:00 18:00 20:00 22:00 23:00 β
β ββββββββββΌβββββββββΌβββββββββΌβββββββββ€ β
β β Early β β Late β β
β β βΌ β βΌ β
β β
β Status: π OPEN π OPEN π CLOSES π CLOSED β
β β
β β οΈ Important: β
β β’ Before Early: No action (even if dark) β
β β’ Early-Late: Closes when below threshold β
β β’ After Late: Closes GUARANTEED (forced if needed) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Lux Value
β²
β
β ββββββββββββββββββββββββββ
β β Cover OPEN β
8000βββββββ¬βββββββββββββββββββββββββ¬ββββ brightness_up (open)
β β β
β β Hysteresis Range β
β β (no change) β
β β β
6000βββββββ¬βββββββββββββββββββββββββ¬ββββ brightness_down (close)
β β Cover CLOSED β
β ββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββΆ Time
Example Configuration:
- brightness_up = 8000 lx
- brightness_down = 6000 lx
- brightness_hysteresis = 500 lx
Opens when: Brightness > 8500 lx (8000 + 500)
Closes when: Brightness < 5500 lx (6000 - 500)
Elevation (Β°)
β²
β
β ββββββββββββββββββββββββββ
β β Cover OPEN β
+5βββββββ¬βββββββββββββββββββββββββ¬ββββ sun_elevation_up (open)
β β β
0βββββββ¬βββββββββββββββββββββββββ¬ββββ Horizon (sunrise/sunset)
β β β
-5βββββββ¬βββββββββββββββββββββββββ¬ββββ sun_elevation_down (close)
β β Cover CLOSED β
β ββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββΆ Time
Example Configuration:
- sun_elevation_up = +5Β°
- sun_elevation_down = -5Β°
Opens when: Sun > +5Β° above horizon
Closes when: Sun < -5Β° below horizon
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CONDITION β RESULT β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Before time_up_early β β No action β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β After time_up_early AND β β
β (Brightness > threshold β β
Cover opens β
β OR β β
β Sun > threshold) β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β After time_up_late β β
Cover opens β
β (REGARDLESS of sensors) β GUARANTEED β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β οΈ OR Logic: Only ONE sensor needs to exceed threshold!
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CONDITION β RESULT β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Before time_down_early β β No action β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β After time_down_early AND β β
β (Brightness < threshold β β
Cover closes β
β OR β β
β Sun < threshold) β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β After time_down_late β β
Cover closes β
β (REGARDLESS of sensors) β GUARANTEED β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β οΈ OR Logic: Only ONE sensor needs to fall below threshold!
Configuration:
- time_up_early: 06:00
- time_up_late: 08:00
- brightness_up: 8000 lx
Timeline:
06:00 β Still dark (5000 lx) ββββββββββββββββ β Stays closed
06:30 β Still dark (6000 lx) βββββββββββββββββ β Stays closed
07:00 β Getting brighter (7000 lx) ββββββββββββ β Stays closed
07:45 β Bright enough! (8500 lx) ββββββββββββββΊ β
OPENS!
08:00 β (Would have opened latest at this time)
π‘ Advantage: Waits for sufficient brightness,
but opens latest at 08:00
Configuration:
- time_down_early: 18:00
- time_down_late: 22:00
- sun_elevation_down: -5Β°
Timeline:
18:00 β Sun still high (+15Β°) ββββββββββββββ β Stays open
19:00 β Sun descending (+5Β°) βββββββββββββββββ β Stays open
20:00 β Sun at horizon (0Β°) βββββββββββββββββββ β Stays open
20:45 β Sun below horizon (-6Β°) βββββββββββββββΊ β
CLOSES!
22:00 β (Would have closed latest at this time)
π‘ Advantage: Uses daylight optimally,
but closes latest at 22:00
Configuration:
- time_up_early: 06:00, time_up_late: 08:00
- brightness_up: 8000 lx
- sun_elevation_up: +5Β°
Timeline:
06:30 β Cloudy, but sun above horizon:
β’ Brightness: 6000 lx (β too dark)
β’ Elevation: +8Β° (β
high enough)
βββββββββββββββββββββββββββββββββββββΊ β
OPENS!
π‘ Advantage: OR logic ensures opening,
even when brightness reduced by clouds
# Morning
time_up_early: "07:00"
time_up_late: "08:30"
brightness_up: 10000 # Very bright
sun_elevation_up: 10 # Sun already higher
# Evening
time_down_early: "17:00"
time_down_late: "21:00"
brightness_down: 8000 # Still relatively bright
sun_elevation_down: 5 # Sun still above horizon
# Morning
time_up_early: "06:00"
time_up_late: "08:00"
brightness_up: 8000
sun_elevation_up: 0 # Sunrise
# Evening
time_down_early: "18:00"
time_down_late: "22:00"
brightness_down: 6000
sun_elevation_down: 0 # Sunset
# Morning
time_up_early: "05:30"
time_up_late: "07:00"
brightness_up: 5000 # Already at dawn
sun_elevation_up: -6 # Civil twilight
# Evening
time_down_early: "19:00"
time_down_late: "23:00"
brightness_down: 3000 # Only when dark
sun_elevation_down: -6 # Civil twilight
A: This is normal! time_up_early is the earliest possible time. The cover opens when:
time_up_early ANDGuaranteed opening only happens at time_up_late!
A: Check the following:
brightness_down (e.g., from 5000 to 7000 lx)sun_elevation_down (e.g., from -5Β° to 0Β°)time_down_early earlier (e.g., from 19:00 to 18:00)time_down_late to your desired latest timeA: Hysteresis prevents βflappingβ (constant opening/closing):
Without Hysteresis (BAD):
Threshold: 7000 lx
Brightness fluctuates: 6900 β 7100 β 6900 β 7100
Result: Opens, closes, opens, closes... π΅
With Hysteresis (GOOD):
Threshold: 7000 lx, Hysteresis: 500 lx
Opens at: > 7500 lx
Closes at: < 6500 lx
Brightness fluctuates: 6900 β 7100 β 6900 β 7100
Result: Stays closed (below 7500 lx) β
A: Only ONE of the enabled sensors needs to reach the threshold:
Brightness Sensor: β
Active (above threshold)
Sun Elevation Sensor: β Not yet (below threshold)
ββββββββββββββββββββββββββββββββββββββββββββ
Result: β
Cover opens anyway!
Advantage: Clouds can reduce brightness, but
sun elevation still indicates "daytime".
A:
Adjust Early time:
Adjust Late time:
Rule of thumb:
Early: Earliest sensible time
Late: Latest acceptable time
Difference: 1-2 hours optimal
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FIXED TIMES (time_up/down_early/late) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Pro: β’ Simple configuration β
β β’ Workday/non-workday distinction possible β
β Con: β’ Same times every day (per weekday type) β
β β’ Changes only in blueprint config β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SCHEDULE HELPER (time_schedule_helper) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Pro: β’ Individual times per weekday β
β β’ Changes without blueprint restart β
β β’ Graphical calendar view in HA β
β Con: β’ More complex to configure β
β β’ Fixed times still needed as fallback β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Recommendation: Start with fixed times, later expand to
Schedule Helper if needed
Checklist:
β Automation enabled?
β Helper correctly configured? (254 characters!)
β Sensors providing valid values?
β Time windows correct? (Early < Late)
β Thresholds realistic?
β Triggers visible in Home Assistant log?
β Manual override active? (check helper status)
Debug tip:
Execute automation manually β Enable config check
Solution:
1. Increase hysteresis:
β’ brightness_hysteresis: 0 β 1000
β’ Prevents reaction to small fluctuations
2. Increase wait times:
β’ brightness_time_duration: 30s β 120s
β’ sun_time_duration: 30s β 120s
3. Widen threshold gap:
β’ Larger difference between up/down values
Possible causes:
1. β Time Control = "disabled" set
β Enable time_control_input or schedule
2. β Resident sensor blocking
β Check resident_sensor status
3. β Force trigger active
β Check force entities (should all be "off")
4. β Manual override active
β Wait for reset or manual reset
This documentation refers to CCA Version 2025.11.26