☀️ Cover Control Automation (CCA) - a comprehensive and highly configurable roller blind blueprint

Hello everyone,
I have a question regarding the understanding of the Workday/Non-Workday sensor.
In Home Assistant, I have the Workday integration giving me the value ‘ON’ for today.
Unfortunately, my roller shutters did not open early as expected.
Should the status for the workday identifier be set to ‘ON’ or ‘OFF’?

i tested a little bit with sun and shading automation, because i need azimuth and elevation! daily Open and close is unchecked.

So the cover closes as aspected. but it wont open! there are everyday 4 logs which react to a template but nothing happend. The 4 traces you can find here:
https://controlc.com/97ba66df
https://controlc.com/1f4eb2ab
https://controlc.com/e7f851f4
https://controlc.com/9c8d2557

Maybe you can find the error!

Enclosed also a row of traces, where i expected the automation to activate shading, but shutters were not moved.But this is likely some issue with my config and many “hidden” status changes (last screenshot) of my Shelly 2.5

Config:

id: '1710705983780'
alias: CCA-2-Beschattung_Strasse_Kueche
description: erstellt 22.02.24
use_blueprint:
  path: hvorragend/cover_control_automation.yaml
  input:
    shading_forecast_sensor: weather.openweathermap
    blind: cover.s25_eg_kueche1_strasse_3
    auto_options:
      - auto_shading_enabled
      - auto_up_enabled
      - auto_down_enabled
      - auto_sun_enabled
    time_control: time_control_input
    cover_status_options: cover_helper_enabled
    drive_time: 60
    time_up_early: '07:00:00'
    time_up_early_non_workday: '07:30:00'
    time_up_late: '08:30:00'
    time_up_late_non_workday: '08:30:00'
    close_position: 13
    time_down_late: '23:00:00'
    time_down_late_non_workday: '23:00:00'
    workday_sensor: binary_sensor.workday_sensor
    position_tolerance: 1
    shading_position: 50
    shading_azimuth_start: 140
    shading_azimuth_end: 310
    shading_temperatur_sensor1: sensor.openweathermap_temperature
    shading_min_temperatur1: 17
    shading_weather_conditions:
      - sunny
      - partlycloudy
      - clear
    check_config: true
    auto_global_condition:
      - condition: state
        entity_id: input_boolean.automatisierung_rollade_standard_automodus
        state: 'on'
    shading_elevation_min: 0
    shading_forecast_temp: 21
    sun_elevation_up: -1.5
    sun_elevation_down: -3.5
    cover_status_helper: input_text.rolladen_status_inputhelper_strasse_kueche
    individual_config:
      - prevent_shading_end_if_closed
      - allow_shading_multiple_times
    auto_shading_start_condition:
      - condition: state
        entity_id: input_boolean.automatisierung_rollade_sonnenschutz
        state: 'o

Traces:

Helper on this day:

Log of the shutter

I’m sorry. I can’t help you because your traces are all incomplete. You have a hash sign (#) in your friendly name and this seems to be causing problems.

You intend to use the sun protection for a purpose that is not intended and is completely untested. At least that’s what I think.

Your opening would be “Shading End” and your closing would be “Shading Start”. Crazy situation.

So you have no problems with “Shading Start”. But the “Shading End” doesn’t work for you. These would be the triggers with the ID “t_so_*”.

There is a trace that contains the processing, but aborts due to the following conditions:

      - or:
          - "{{ is_status_helper_enabled and is_cover_shaded }}"
          - "{{ in_shading_position }}" 

Your configuration is shading_position = 65.
But your current_position is 66.

This means that your roller blind is not in the shading position (variable: in_shading_position = false).

You could increase position_tolerance a little or use the cover status helper. Then we should get closer to our goal.

If you use the core integration, you should have an entity like “binary_sensor.workday_today”. If this is set to “on”, it is a working day.

If necessary, just show me a trace and I’ll take a look.

I will ad the following description in the next release:

As soon as a roller blind has been moved manually, the status is recorded in the Helper. This usually means that a person has deliberately decided against a status.

  • If option is not activated: The roller blinds are moved even if a manual correction has been made.
  • If option is activated: The action to open, close, etc. is not performed because a conscious decision was made to do otherwise due to a manual intervention.

I need to think about whether I really want to introduce this.
Ticket: Position detection also based on the tilt position? · Issue #53 · hvorragend/ha-blueprints · GitHub

But a question in passing: What is the status of your roller blind in the screenshot example?

Open: Position 100, Tilt 50
Ventilate: Position 1, Tilt 50
Shading: Position 1, Tilt 0
Close: Position 0, Tilt 0

Could the following integration be more interesting for you?

I don‘t understand. The states are open, close, ventilate, shading.

The two attributes in your screenshot (position=1 and tilt=60) do not match an entry in your list. Where exactly was your roller blind at that time? Why was it at tilt=60 and not tilt=50? I assume that you did not control it using CCA, right?

I just want to know so that I can understand it better. In case I should perhaps include that.

I don´t know why but for this blind when i set combined through CCA 1/50 the real position is 1/60. I also tried setting 1/40 but the blind drives to 1/60.

Have now finally corrected the device-name and will collect (hopefully valid) traces once i see issues.

Thank you!!

thanks, is work now :grinning:

yep thats a crazy situation;)…you are right, there is da difference in the positions…i didn’t recognize! :thinking:
I reconfigured the cover, but there is still this small gap!..
i will test the tolerance now and reply

Each Night another blind doesn´t close with Elevation. Attached are some pictures from Helper and Config and a link with the last available traces.


Screenshot 2024-05-09 212530

Traces: Share

For me the blinds do not close by elevation in the evening, if the forcing trigger for ventilation is still enabled in the evening.

Config:

alias: CCA-2-Beschattung_Seite VDB_Festverglasung
description: erstellt 22.02.24
use_blueprint:
  path: hvorragend/cover_control_automation.yaml
  input:
    shading_forecast_sensor: weather.openweathermap
    blind: cover.s25_eg_esszimmer_fest2_vdb_6
    auto_options:
      - auto_shading_enabled
      - auto_up_enabled
      - auto_down_enabled
      - auto_sun_enabled
      - auto_ventilate_enabled
    time_control: time_control_input
    cover_status_options: cover_helper_enabled
    drive_time: 60
    time_up_early: "07:00:00"
    time_up_early_non_workday: "07:30:00"
    time_up_late: "08:30:00"
    time_up_late_non_workday: "08:30:00"
    close_position: 15
    time_down_late: "23:00:00"
    time_down_late_non_workday: "23:00:00"
    workday_sensor: binary_sensor.workday_sensor
    position_tolerance: 10
    shading_position: 17
    shading_azimuth_start: 50
    shading_azimuth_end: 230
    shading_temperatur_sensor1: sensor.openweathermap_temperature
    shading_min_temperatur1: 15
    shading_weather_conditions:
      - sunny
      - partlycloudy
      - clear
      - cloudy
    check_config: true
    auto_global_condition:
      - condition: state
        entity_id: input_boolean.automatisierung_rollade_standard_automodus
        state: "on"
    shading_elevation_min: 0
    shading_forecast_temp: 19
    sun_elevation_up: -1.5
    sun_elevation_down: -2.6
    cover_status_helper: input_text.rolladen_status_inputhelper_vdb_esszimmer_fest
    individual_config:
      - allow_shading_multiple_times
      - prevent_shading_end_if_closed
    auto_shading_start_condition:
      - condition: state
        entity_id: input_boolean.automatisierung_rollade_sonnenschutz
        state: "on"
    auto_ventilate_force: input_boolean.automatisierung_rollade_sonnenschutz_garten_seite_force
    ventilate_position: 35
    ventilate_tilt_position: 35

Trace:

That’s how it should be. You are already forcing ventilation. Then CCA won’t do anything.

1 Like

I have not looked at all the traces in detail, but this will be due to your tilt. CCA only compares the “current_position” attribute. We have already discussed this. And you have, for example, Open-Position and Ventilation-Position both set to 1. The tilt position is not taken into account. This will not currently work.

Sorry, but I can’t access your trace.