Minimum required version of Home Assistant: 2024.6.0
If you would like to support me or say thank you, please click here:Click Here
This is a comprehensive and highly configurable blueprint that can be used for the following basic purposes:
Opening and closing the roller shutters (depending on brightness, sun-elevation and within time windows)
Ventilation feature (Currently for two-way sensors)
Resident feature: keep the cover closed if resident is asleep
Complete flexibility in almost all parameters:
Fixed drive delay and random drive delay
Waiting time duration for triggers
Position tolerance
Each feature can be activated or deactivated as required. Not only through a switch in the blueprint, but also through dynamic conditions outside the automation. Condition examples:
If, for example, your blinds on the upper floor only close automatically and are not opened via the automation, you can also enable the blinds to be opened during this time by activating a vacation mode boolean.
If you have visitors or a party, you may not want the blinds to close. This can be easily configured using a party mode boolean.
If, for any reason, you want to pause the activation of shading or the ending of shading, this can be controlled via a shading boolean.
If you want to suspend the entire roller blind control for a short time, perhaps because maintenance work or window cleaning is being carried out, this is possible with just one Boolean.
Are the roller blinds on side doors normally only opened by the automation system and never closed because you don’t want to lock yourself out? But on vacation, the blinds should still be closed. This is how the conditions work.
Extensive automatic sun shading with many different setting options:
Sun azimuth
Sun elevation
Solar irradiation/Light intensity/Illuminance
Weather Conditions
Two different temperature sensors (compare thresholds for indoor and/or outdoor sensors)
Not only the current temperature, but also the temperature forecast can also be taken into account.
Added the option to save the current status in a helper. This has the advantage that the roller blind can also be in other positions and the automation can still be executed. And manual interventions are not constantly overridden with every trigger.
If multiple criteria (e.g. temperature sensors and/or azimuth and/or elevation) are defined, shading will not occur until all criteria are met.
It is not possible to execute this automation manually!
In order to have extensive flexibility here, different sensors are used. But there is also the possibility to define a resident of the room,
so that e.g. the cover does not go up in the morning, although the resident is still sleeping.
If you want to use sun elevation and/or azimuth it’s strongly advised to use sun.sun. And please make sure your sun.sun entity is enabled!
Important configuration notes
time_up_early should be earlier than time_up_late
time_up_early_non_workday should be earlier than time_up_late
time_down_early should be earlier than time_down_late
shading_azimuth_start should be lower than shading_azimuth_end
shading_elevation_min should be lower than shading_elevation_max
shading_sun_brightness_start should be higher than shading_sun_brightness_end
open_position should be higher than closed_position
open_position should be higher than ventilate_position
closed_position should be lower than ventilate_position
shading_cover_position should be higher than closed_position
shading_cover_position should be lower than open_position
At this point, I would like to mention that it is possible to increase the number of traces. The following lines must be added to the respective automation in the YAML code.
In case of errors, I need at least the blueprint configuration in YAML format (no screenshot). And if necessary, please also upload a trace here. Thank you very much.
Added: Implemented configuration check to perform some basic checks (idea and code by Eimeel)
Added: Cover Drive Time
A few logic changes
2024.01.29-03:
Added config check for sun attributes
Fixed: Wrong trigger condition while closing
2024.01.29-04/2024.01.29-05:
Updated descriptions
2024.01.30-01/2024.01.30-02:
Fixed and extended config check
Fixed closing condition. Wrong fix yesterday. Back to the origin. Will check this later.
2024.02.01-01:
Minor Layout changes
Removed commented out code
Fixed closing-condition
Fixed cover status helper initialisation and still make the first cover drive possible
2024.02.02-01:
BREAKING CHANGE: Please reconfigure/rename the variables close_position and shading_position in your blueprint config.
Old: closed_position - New: close_position
Old: shading_cover_position - New: shading_position
Added tilt positions for open, close and ventilation
2024.02.03-01:
Strict separation of the two brightness sensors. The previous problem was that the shading sensor used the same values to open or close the blinds as the normal sensor. Depending on the sensor (different edge, slope, median, filter, etc.), incorrect triggers occur.
Important: If required, please register both brightness sensors.
2024.02.03-02:
Opening the blinds only until time_down_early. Otherwise, overlaps may occur if the brightness values are not set correctly. Avoid bouncing the blinds.
2024.02.06-01:
Added: Helper length validation
Comprehensive JSON changes / Now multidimensional JSON
Roller blind movements can now only be executed once a day when the helpers are used.
2024.02.07-01:
Fixed weather.get_forecasts: The response from the service is a dict with the target entities as keys
2024.02.09-01:
Streamline the code
Added option to enable time control via external schedule helper
Added more options for manual time control (drive up - late on non-workdays / drive down early and late on non-workdays)
Possible breaking change: You should reconfigure the times in your CCA automations!
2024.02.12-01:
Allow input_boolean as contact sensors.
The state of the contact sensor can be true/on or false/off
Fixed time control bug
2024.02.13-01:
Fixed potential bug when opening via time control
2024.02.15-01:
Fixed timestamp comparison bug
Faster checking for manual position changes
2024.02.18-01:
Fixed: Schedule open/close-bug
Fixed: Next try - faster checking for manual position changes
Separate ventilation from lockout protection
Added own lockout protection feature
Removed door/window chooser (contact_cover_place)
2024.02.18-02:
Fixed: Problems with helper json
2024.02.19-01:
Added: External trigger to force opening or closing. Useful for Antifreeze, RainProtection or WindProtection.
Fixed: Still timing problems occur when recognising manual drives
Added: Additional actions for open, close, ventilation, shading start and shading end
2024.02.28-01:
Fixed a nasty bug in the helper detection.
Fixed the warning: AttributeError: ‘list’ object has no attribute ‘lower’
2024.02.28-02:
Fixed: Float values were incorrectly compared as integers. This fixed problems with sun-elevation and brightness.
2024.03.01-01:
Roller blinds may only be closed once after Time_Down_Late. Previously, the entire day was checked.
2024.03.11-01:
Added various options for fine adjustment
Possibility to ignore actions after manual position changes
Only compare such positions if the mode has been activated accordingly
Avoid status change from ‘unavailable’
Allow delay in ventilation mode
Fixed: Shading should not be activated when ventilation mode is active
Fixed: Closing the door contact should always lower the roller
Instead of cover helper and position detection working against each other, the two can now complement each other.
Manual detection adjusted. Positions 0% and 100% always result in close/open regardless of the configuration.
Forcing a status is now also automatically used as a negative condition in other queries.
2024.03.11-02:
Completely new structure of the various choose-branches
Relocation of some conditions to the sequence section
Redesign of the ventilation mode
Added: Additional Condition For Ventilation #33
Added: Force Ventilation #28
2024.03.14-01:
Fixed: Ventilation mode could always be started by mistake.
Fixing helper length check. Thx to crandler.
2024.03.21-01:
Breaking change in the schedule helper usage! You can find the details in the section “Selection of time control options”.
New: Reduction of triggers and thus avoidance of overlaps due to running delays (fixes #40)
New: Added possibility to disable the use of ‘set_cover_position’ and ‘set_cover_tilt_position’ and only use the additional actions
Fixed: Shading Forecast Weather Conditions
Fixed: Ventilation mode should not only be ended in the evening, but whenever it is not yet daytime.
Fixed: Added the ventilation mode activation on closing down again
Try to avoid overlaps in the execution of the automation if several triggers are triggered shortly after each other.
Fixed: Optional weather conditions for “shading in” #41
2024.04.05-01:
Update: Forecast Temperature below 0 possible
Delay lines minimally changed
Added: Allow shading to activate multiple times a day #44
Fixed: Ventilation is usually activated too often.
2024.04.08-01:
Fixed: Make the shading work even without a helper
2024.05.01-01:
Updated: Trigger shading at time_up_early and schedule helper state change, too
Fixed: Possibility to ignore actions after manual position changes
Added Feature: Force activation of sun shading #49
Fixed: Manual shutter movements after a core restart were not always recognised.
2024.05.03-01:
Minor editorial changes
2024.05.15-01:
Fixed: Do not recognise manual movement if status is unknown
Updated: Change the step size for the brightness values to 1
Fixed: Made the force function easier with fewer conditions
Added: Make it possible to open and close the roller blinds multiple times
Added: The forecast sensor can now trigger the sun shading #48
Added: Delay between set_cover_position and set_cover_tilt_position.
Added: Lockout protection implemented at the start and end of shading. #43/#55 (Attention: Cover may close in the evening after contact is closed again!)
Fixed: Retriggering of the shading is possible again. Open/close branches are only started if automation is not already running.
2024.05.15-02:
Quick workaround, as opening and closing does not currently work.
Minor changes
2024.05.22-01:
Added: Separation of the contact sensors for ventilation and lockout protection BREAKING CHANGE: Reconfiguration of lockout protection necessary!
Updated: Combining the shading triggers. No more problems with waiting times and retriggers.
Fixed: Do not close after closing the contact if ‘Automatic Closing’ is disabled
Fixed: Missing shading force trigger
Fixed: Prevent trigger with invalid status
2024.05.28-01:
Complete restructuring and logic change for shading, lockout protection and ventilation:
When the cover is opened, the system checks whether a sun shading is already in place. If this is the case, the cover is not opened but moved directly into the shading position.
If the cover is to be closed and the contact is open, either lockout protection or ventilation mode is activated.
If the cover is closed and the corresponding contact is opened, the ventilation position is activated.
When the sun shading is activated, the lockout protection is taken into account if the contact is open. If the contact is closed, the cover moves back to the shading position.
When the sun shading is stopped, the lockout protection is checked. It is also possible to move to the ventilation position when the contact is open. If the contact is closed here, the cover is opened.
Summary: CCA saves the temporary status (ventilation, lockout protection and shading) and the actual target status in the Cover Status Helper.
This means that the cover is simply opened or closed as before.
And it does not always return to the previous state (which may have changed in the meantime).
Instead, it switches to the state that should actually be current.
Fixed: Incorrect position detection during manual drives if shading_position is smaller than close_position
Added: Shading activation before opening. The cover can now move into the shading during the opening process. #4
Added: Prevent automatic closing due to the resident sensor #63
Added: Option to deactivate time control. This means that the system can now also be controlled exclusively via the brightness and the height of the sun. I
BREAKING CHANGES:
Cover Status Helper is now mandatory for ventilation, lockout protection and shading!
Invert the status of some options #61 (“Prevent the cover from being … several times a day” instead of “Allow the cover to be … several times a day”)
2024.06.04-01:
Major GUI Update: Using blueprint sections now (Min-Core-Version: 2024.6.0)
2024.06.05-01:
Added: Optional checking workday tomorrow sensor when closing the cover #71
Updated: GUI section icons to MDI icons
2024.06.24:
Breaking change: ‘prevent_higher_position_shading_end’ changed to new parameter ‘prevent_lowering_when_closing_if_shaded’
Added: Limited templates for enabling automation triggers
Added: Shading sensor 2 is also checked again during shading
Fixed: Occasionally sun shading was performed without checking the weather conditions
Fixed: The ventilation position was not set correctly when closing the roller blind
Fixed: At the end of sun shading, the system no longer moves to the ventilation position
Fixed: Sun shading is now also calculated outside the configured times and can be taken into account when opening.
Fixed: Option “Prevent the cover from closing immediately after deactivating the lockout protection”
Many thanks to Eimeel and Bostil
2024.06.26:
Breaking change: The option “Prevent the use of the ‘get_forecasts’ service (prevent_forecast_service)” has been removed and replaced by the configuration option under “Sun Shading Forecast Type”
Fixed: If tomorrow is not a working day, the right time is taken now - #80
Fixed: If the blind is moved manually below the shading and ventilation position, this is no longer recognised as closed.
Added: Additional Actions After Manual Change - #87
Added: You can now decide whether you want to use the hourly or daily weather forecast.
Added: It is now possible to reset the manual detection of roller blind movements at 00:01 - #86
2024.06.29:
Breaking change: The checkbox introduced in the last update “reset_manual_detection” has been moved to a separate selection. Please reconfigure.
Added: Time and timeout in minutes to reset the manual override #95
Added: Additional Actions After Override Reset #94
Fixed: The cover may also be closed after ventilation if the down mode is not activated
Many thanks to crandler for the ideas
2024.06.30:
Fixed: Preventing errors and warning on manual execution
Fixed: Incorrect time adopted if tomorrow is a working day and today is a weekend
2024.07.06:
Fixed: Return to shading after ventilation #43
Fixed: When closing the ventilation contact, do not move the roller blind if it is already in the correct position #102
Updated: Trigger name renamed to make debugging easier for beginners
Added: Additional information on when a Cover Status Helper is required
Added: License notification and notice about the new Take Control-feature
2024.07.31:
Fixed: Override conditions were incorrect #109
Fixed: Faulty timing triggers although they have been deactivated #104
Fixed: Removed duplicate line of code without effect #105
Fixed: Reset shading status at midnight that is no longer required - but still saved #106
Fixed: Empty weather conditions are now taken into account when shading is ended #110
Fixed: When the shading is ended, the resident sensor is now also checked so that nobody is woken up #116
Updated: All force situations are now fully cross-checked in all choose-branches
Added: Save the length of the helper for better debugging #107
Added: The ventilation position can now be moved to after the sun shading has ended (if the contact is open)
Fixed: New trigger “t_shading_reset” causes errors #119
Fixed: “Manual Override” don’t work #122 (Thanks to Eimeel)
Fixed: Commenting out the check of the position information in the config check #121
Fixed: Blinds not opening with resident mode when auto close disabled #115
2024.09.04:
Major Update:
Complete redesign of the logic behind the contact sensors.
Splitting the contact sensors into “Tilted windows” and “Open windows”
Lockout protection removed from the automation options
Lockout protection can be configured individually
Please reconfigure contacts, residents and manual override settings!
Major Update:
Complete redesign of the shading triggers.
I have now separated the originally combined triggers again.
And the waiting time is no longer taken into account in the trigger and also not as a delay in the action sequences.
Instead, the new trigger time is now saved in the helper.
This has the wonderful advantage that we can work with several shading triggers again, which do not reset and restart each other.
Unfortunately, this makes things more complicated in support, as I now need traces for both triggers (pending and execution).
But I also hope to have fewer customer service calls in the long term.
In addition, you can now see traces again that were previously not available because they were cancelled directly in the for-wait time.
Updated: If you previously used the manual control reset at a certain time, you now have to reconfigure this feature once. I had to rename the variable is_reset_time to is_reset_fixed_time.
Added: Config check for schedule helper
Added: Sun shading can now be allowed even if a resident is present #131
Fixed: A delay is now also taken into account when the sun shading is ended #128
Fixed: When checking the end of shading, a True was always output if the weather conditions array was empty #133
Fixed: Prevent double triggering if early+late times are identical.
Breaking Changes: Removed settings:
“Prevent the cover from closing immediately after deactivating the lockout protection” (prevent_close_after_lockout)
Happy Release Day
Thanks again for all the work you put in.As a shift worker, I am very happy about the resident mode. But what I’m missing is an additional block that doesn’t open the blinds, for example during school holidays or weekends.
But you should be able to achive this by using the resident mode, shouldn’t you?
As it’s an input_boolean is just for this, you can create an automation and define however you want.
Or am I missing your point?
You’re right about resident mode. But I only have one presence detector in the bedroom and if it doesn’t recognize me or my wife, the shutters open. It is easier not to open the shutters on certain days. @Herr.Vorragend gave me the tip about the Additional Conditions For Opening The Cover and I’m going to test that now
I see. But still I would prefer to use this with resident mode. Create a new input_boolean and set to true on all days you don’t want the shutters to open.
Guess it’s easier than dealing with additional conditions.
I just started to use this blueprint but luck is not yet on my side.
in my application i want to use the blueprint just for shading in combination with screens i have installed in my home.
Regardless of what i try i cannot make this blueprint control my screens for shading alone.
I made sure to:
Configure a cover to control
selected the shading option (6) as only enabled option)
under the shading option i’ve set the:
start and end azimuth (65/220)
the start and end elevation (6/90)
i’ve set 0% as the setting to close the screen for shading (this is when my screens are fully closed)
i’m using the default weather forecast conditions and made sure the forecast entity exists
triggering the automation manually or wait for sun elevation and azimuth to become true, no dice.
Must be something obvious i am doing wrong but i cannot seem to find out what.
Btw: “fährt nach Sonnenauf- /untergangszeiten, aber nur innerhalb des Fensters (7-9 Uhr)” ist not completely right. It’s opening between 7-9 but closing 17-22.