Guest User

Untitled

a guest
Jul 1st, 2025
7
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 187.94 KB | None | 0 0
  1. {
  2.   "trace": {
  3.     "last_step": "action/4/default/0/if/condition/0",
  4.     "run_id": "5b0036b37a1e512910748b7df6fd31d7",
  5.     "state": "stopped",
  6.     "script_execution": "finished",
  7.     "timestamp": {
  8.       "start": "2025-07-01T14:40:54.516392+00:00",
  9.       "finish": "2025-07-01T14:40:54.695058+00:00"
  10.     },
  11.     "domain": "automation",
  12.     "item_id": "1750688188481",
  13.     "trigger": "sensor.helligkeit_aussen via template",
  14.     "trace": {
  15.       "trigger/20": [
  16.         {
  17.           "path": "trigger/20",
  18.           "timestamp": "2025-07-01T14:40:54.533244+00:00",
  19.           "changed_variables": {
  20.             "this": {
  21.               "entity_id": "automation.rollladen_ankleide",
  22.               "state": "on",
  23.               "attributes": {
  24.                 "id": "1750688188481",
  25.                 "last_triggered": "2025-07-01T14:37:48.374727+00:00",
  26.                 "mode": "single",
  27.                 "current": 0,
  28.                 "friendly_name": "Rollladen Ankleide"
  29.               },
  30.               "last_changed": "2025-06-30T21:24:14.841965+00:00",
  31.               "last_reported": "2025-07-01T14:37:48.518949+00:00",
  32.               "last_updated": "2025-07-01T14:37:48.518949+00:00",
  33.               "context": {
  34.                 "id": "01JZ36RBXWW7ZMRD7Y0P0XZ0JN",
  35.                 "parent_id": "01JZ36RAXPCTRY6KH5JRRRHY6H",
  36.                 "user_id": null
  37.               }
  38.             },
  39.             "trigger": {
  40.               "platform": "template",
  41.               "entity_id": "sensor.helligkeit_aussen",
  42.               "from_state": {
  43.                 "entity_id": "sensor.helligkeit_aussen",
  44.                 "state": "34111.8",
  45.                 "attributes": {
  46.                   "state_class": "measurement",
  47.                   "unit_of_measurement": "lx",
  48.                   "device_class": "illuminance",
  49.                   "friendly_name": "Helligkeit Aussen"
  50.                 },
  51.                 "last_changed": "2025-07-01T14:39:17.811142+00:00",
  52.                 "last_reported": "2025-07-01T14:39:17.811142+00:00",
  53.                 "last_updated": "2025-07-01T14:39:17.811142+00:00",
  54.                 "context": {
  55.                   "id": "01JZ36V3968256Y295H421KKQE",
  56.                   "parent_id": null,
  57.                   "user_id": null
  58.                 }
  59.               },
  60.               "to_state": {
  61.                 "entity_id": "sensor.helligkeit_aussen",
  62.                 "state": "37021.3",
  63.                 "attributes": {
  64.                   "state_class": "measurement",
  65.                   "unit_of_measurement": "lx",
  66.                   "device_class": "illuminance",
  67.                   "friendly_name": "Helligkeit Aussen"
  68.                 },
  69.                 "last_changed": "2025-07-01T14:40:54.000100+00:00",
  70.                 "last_reported": "2025-07-01T14:40:54.000100+00:00",
  71.                 "last_updated": "2025-07-01T14:40:54.000100+00:00",
  72.                 "context": {
  73.                   "id": "01JZ36Y16SF4NQRTBENQK6CKZ1",
  74.                   "parent_id": null,
  75.                   "user_id": null
  76.                 }
  77.               },
  78.               "id": "t_shading_start_pending_2",
  79.               "idx": "20",
  80.               "alias": null,
  81.               "for": null,
  82.               "description": "sensor.helligkeit_aussen via template"
  83.             },
  84.             "blind": "cover.dg_rl_ank",
  85.             "open_position": 100,
  86.             "close_position": 0,
  87.             "ventilate_position": 99,
  88.             "shading_position": 1,
  89.             "position_tolerance": 0,
  90.             "open_tilt_position": 50,
  91.             "close_tilt_position": 50,
  92.             "ventilate_tilt_position": 50,
  93.             "shading_tilt_elevation_1": 20,
  94.             "shading_tilt_elevation_2": 30,
  95.             "shading_tilt_elevation_3": 48,
  96.             "shading_tilt_position_0": 0,
  97.             "shading_tilt_position_1": 20,
  98.             "shading_tilt_position_2": 37,
  99.             "shading_tilt_position_3": 50,
  100.             "auto_options": [
  101.               "auto_up_enabled",
  102.               "auto_down_enabled",
  103.               "auto_sun_enabled",
  104.               "auto_shading_enabled",
  105.               "auto_ventilate_enabled"
  106.             ],
  107.             "time_up_early": "07:00:00",
  108.             "time_up_early_non_workday": "08:00:00",
  109.             "time_up_late": "08:00:00",
  110.             "time_up_late_non_workday": "09:00:00",
  111.             "time_down_early": "20:00:00",
  112.             "time_down_early_non_workday": "20:00:00",
  113.             "time_down_late": "22:00:00",
  114.             "time_down_late_non_workday": "22:00:00",
  115.             "workday_sensor_today": "binary_sensor.workday_sensor",
  116.             "workday_sensor_tomorrow": "binary_sensor.workday_sensor_tomorrow",
  117.             "default_brightness_sensor": [],
  118.             "brightness_up": 0,
  119.             "brightness_down": 0,
  120.             "default_sun_sensor": "sun.sun",
  121.             "sun_elevation_up": 5,
  122.             "sun_elevation_down": -6,
  123.             "resident_sensor": [],
  124.             "contact_window_tilted": [],
  125.             "contact_window_opened": "binary_sensor.tfk_ank",
  126.             "lockout_tilted_options": [
  127.               "lockout_tilted_closing",
  128.               "lockout_tilted_shading_start"
  129.             ],
  130.             "lockout_tilted_when_closing": true,
  131.             "lockout_tilted_when_shading_starts": true,
  132.             "lockout_tilted_when_shading_ends": false,
  133.             "time_control": "time_control_input",
  134.             "time_schedule_helper": [],
  135.             "shading_brightness_sensor": "sensor.helligkeit_aussen",
  136.             "shading_temperatur_sensor1": "sensor.dg_wt_sz_temperatur",
  137.             "shading_temperatur_sensor2": "sensor.raspberrymatic_sv_wm_temperatur",
  138.             "shading_min_temperatur1": 20,
  139.             "shading_min_temperatur2": 22,
  140.             "shading_temperature_hysteresis1": 0.2,
  141.             "shading_temperature_hysteresis2": 0.2,
  142.             "shading_azimuth_start": 150,
  143.             "shading_azimuth_end": 330,
  144.             "shading_elevation_min": 25,
  145.             "shading_elevation_max": 90,
  146.             "shading_sun_brightness_start": 35000,
  147.             "shading_sun_brightness_end": 10000,
  148.             "shading_forecast_sensor": [],
  149.             "shading_forecast_type": "weather_attributes",
  150.             "shading_forecast_temp": [],
  151.             "shading_weather_conditions": [
  152.               "sunny",
  153.               "partlycloudy",
  154.               "cloudy",
  155.               "clear"
  156.             ],
  157.             "is_shading_enabled": true,
  158.             "cover_tilt_config": "cover_tilt_disabled",
  159.             "is_cover_tilt_enabled": false,
  160.             "is_up_enabled": true,
  161.             "is_down_enabled": true,
  162.             "is_brightness_enabled": false,
  163.             "is_sun_elevation_enabled": true,
  164.             "is_ventilation_enabled": true,
  165.             "is_time_field_enabled": true,
  166.             "is_schedule_helper_enabled": false,
  167.             "is_time_control_disabled": false,
  168.             "reset_override_config": "reset_disabled",
  169.             "reset_override_time": "00:01:00",
  170.             "reset_override_timeout": 5,
  171.             "is_reset_disabled": true,
  172.             "is_reset_fixed_time": false,
  173.             "is_reset_timeout": false,
  174.             "cover_status_options": "cover_helper_enabled",
  175.             "cover_status_helper": "input_text.cover_status_helper_ankleide",
  176.             "version": "2025.06.19",
  177.             "blind_entities": [
  178.               "cover.dg_rl_ank"
  179.             ],
  180.             "current_position": 1,
  181.             "current_tilt_position": 101,
  182.             "current_sun_azimuth": 248.84,
  183.             "current_sun_elevation": 44.83,
  184.             "is_today_off": false,
  185.             "is_tomorrow_off": false,
  186.             "is_tomorrow_on": true,
  187.             "drive_delay_fix": 90,
  188.             "drive_delay_random": 0,
  189.             "drive_time": 90,
  190.             "time_up_early_today": "07:00:00",
  191.             "time_up_late_today": "08:00:00",
  192.             "time_down_early_today": "20:00:00",
  193.             "time_down_late_today": "22:00:00",
  194.             "auto_up_force": [],
  195.             "auto_down_force": [],
  196.             "auto_ventilate_force": [],
  197.             "auto_shading_start_force": [],
  198.             "auto_up_force_disabled": true,
  199.             "auto_down_force_disabled": true,
  200.             "auto_ventilate_force_disabled": true,
  201.             "auto_shading_start_force_disabled": true,
  202.             "is_cover_tilt_enabled_and_possible": false,
  203.             "cover_tilt_reposition_config": "cover_tilt_reposition_disabled",
  204.             "is_cover_tilt_reposition_enabled": false,
  205.             "shading_tilt_position": 37,
  206.             "shading_waitingtime_start": 300,
  207.             "shading_waitingtime_end": 600,
  208.             "is_shading_end_immediate_by_sun_position": false,
  209.             "shading_start_behavior": "trigger_periodic",
  210.             "shading_end_behavior": "open_position",
  211.             "start_shading_trigger_reset": false,
  212.             "start_shading_trigger_periodic": true,
  213.             "is_status_helper_enabled": true,
  214.             "helper_state_json": {
  215.               "open": {
  216.                 "a": 1,
  217.                 "t": 1751366731
  218.               },
  219.               "close": {
  220.                 "a": 0,
  221.                 "t": 1751313693
  222.               },
  223.               "shading": {
  224.                 "a": 1,
  225.                 "t": 1751380669,
  226.                 "p": 0,
  227.                 "q": 1751381269
  228.               },
  229.               "vpart": {
  230.                 "a": 0,
  231.                 "t": 0
  232.               },
  233.               "vfull": {
  234.                 "a": 0,
  235.                 "t": 0
  236.               },
  237.               "manual": {
  238.                 "a": 0,
  239.                 "t": 1751192507
  240.               },
  241.               "v": 5,
  242.               "t": 1751380669
  243.             },
  244.             "is_helper_open": true,
  245.             "is_helper_closed": false,
  246.             "is_helper_shaded": true,
  247.             "is_helper_shading_start": false,
  248.             "is_helper_shading_end": true,
  249.             "is_helper_vent_partial": false,
  250.             "is_helper_vent_full": false,
  251.             "is_helper_manual": false,
  252.             "ts_helper_open": 1751366731,
  253.             "ts_helper_closed": 1751313693,
  254.             "ts_helper_shaded": 1751380669,
  255.             "ts_helper_vent_partial": 0,
  256.             "ts_helper_vent_full": 0,
  257.             "ts_helper_manual": 1751192507,
  258.             "in_open_position": false,
  259.             "in_close_position": false,
  260.             "in_shading_position": true,
  261.             "in_ventilate_position": false,
  262.             "individual_config": [],
  263.             "prevent_higher_position_closing": false,
  264.             "prevent_lowering_when_closing_if_shaded": false,
  265.             "prevent_forecast_service": true,
  266.             "prevent_shading_end_if_closed": false,
  267.             "prevent_opening_after_shading_end": false,
  268.             "prevent_opening_after_ventilation_end": false,
  269.             "prevent_default_cover_actions": false,
  270.             "prevent_shading_multiple_times": false,
  271.             "prevent_opening_multiple_times": false,
  272.             "prevent_closing_multiple_times": false,
  273.             "resident_config": [],
  274.             "resident_opening_enabled": false,
  275.             "resident_closing_enabled": false,
  276.             "resident_allow_shading": false,
  277.             "resident_allow_opening": false,
  278.             "resident_allow_ventilation": false,
  279.             "ignore_after_manual_config": [],
  280.             "override_opening_after_manual": false,
  281.             "override_closing_after_manual": false,
  282.             "override_ventilation_after_manual": false,
  283.             "override_shading_after_manual": false,
  284.             "auto_ventilate_options": [],
  285.             "ventilation_delay_enabled": false,
  286.             "ventilation_if_lower_enabled": false,
  287.             "ventilation_after_shading_end": false,
  288.             "check_config": false,
  289.             "check_config_debuglevel": "info",
  290.             "check_status_helper_length": 254
  291.           }
  292.         }
  293.       ],
  294.       "condition/0": [
  295.         {
  296.           "path": "condition/0",
  297.           "timestamp": "2025-07-01T14:40:54.533354+00:00",
  298.           "result": {
  299.             "result": true
  300.           }
  301.         }
  302.       ],
  303.       "condition/0/conditions/0": [
  304.         {
  305.           "path": "condition/0/conditions/0",
  306.           "timestamp": "2025-07-01T14:40:54.533441+00:00",
  307.           "result": {
  308.             "result": true
  309.           }
  310.         }
  311.       ],
  312.       "condition/0/conditions/0/entity_id/0": [
  313.         {
  314.           "path": "condition/0/conditions/0/entity_id/0",
  315.           "timestamp": "2025-07-01T14:40:54.533564+00:00",
  316.           "result": {
  317.             "result": true,
  318.             "state": "on",
  319.             "wanted_state": "on"
  320.           }
  321.         }
  322.       ],
  323.       "condition/1": [
  324.         {
  325.           "path": "condition/1",
  326.           "timestamp": "2025-07-01T14:40:54.533809+00:00",
  327.           "result": {
  328.             "result": true
  329.           }
  330.         }
  331.       ],
  332.       "condition/1/conditions/0": [
  333.         {
  334.           "path": "condition/1/conditions/0",
  335.           "timestamp": "2025-07-01T14:40:54.533882+00:00",
  336.           "result": {
  337.             "result": false,
  338.             "entities": []
  339.           }
  340.         }
  341.       ],
  342.       "condition/1/conditions/1": [
  343.         {
  344.           "path": "condition/1/conditions/1",
  345.           "timestamp": "2025-07-01T14:40:54.534414+00:00",
  346.           "result": {
  347.             "result": true,
  348.             "entities": []
  349.           }
  350.         }
  351.       ],
  352.       "action/0": [
  353.         {
  354.           "path": "action/0",
  355.           "timestamp": "2025-07-01T14:40:54.536023+00:00",
  356.           "changed_variables": {
  357.             "context": {
  358.               "id": "01JZ36Y1QMVEAGABND1A2KV566",
  359.               "parent_id": "01JZ36Y16SF4NQRTBENQK6CKZ1",
  360.               "user_id": null
  361.             },
  362.             "cover_move_action": {
  363.               "sequence": [
  364.                 {
  365.                   "repeat": {
  366.                     "for_each": [
  367.                       "cover.dg_rl_ank"
  368.                     ],
  369.                     "sequence": [
  370.                       {
  371.                         "choose": [
  372.                           {
  373.                             "conditions": [
  374.                               true,
  375.                               false
  376.                             ],
  377.                             "sequence": [
  378.                               {
  379.                                 "alias": "Close Cover",
  380.                                 "service": "cover.close_cover",
  381.                                 "target": {
  382.                                   "entity_id": ""
  383.                                 }
  384.                               }
  385.                             ]
  386.                           },
  387.                           {
  388.                             "conditions": [
  389.                               true,
  390.                               false
  391.                             ],
  392.                             "sequence": [
  393.                               {
  394.                                 "alias": "Open Cover",
  395.                                 "service": "cover.open_cover",
  396.                                 "target": {
  397.                                   "entity_id": ""
  398.                                 }
  399.                               }
  400.                             ]
  401.                           },
  402.                           {
  403.                             "conditions": [
  404.                               true,
  405.                               true
  406.                             ],
  407.                             "sequence": [
  408.                               {
  409.                                 "alias": "Moving the cover to target position",
  410.                                 "service": "cover.set_cover_position",
  411.                                 "data": {
  412.                                   "position": 101
  413.                                 },
  414.                                 "target": {
  415.                                   "entity_id": ""
  416.                                 }
  417.                               }
  418.                             ]
  419.                           }
  420.                         ]
  421.                       },
  422.                       {
  423.                         "delay": {
  424.                           "seconds": 2
  425.                         }
  426.                       }
  427.                     ]
  428.                   }
  429.                 }
  430.               ]
  431.             },
  432.             "tilt_move_action": {
  433.               "sequence": [
  434.                 {
  435.                   "if": [
  436.                     true,
  437.                     false,
  438.                     false
  439.                   ],
  440.                   "then": [
  441.                     {
  442.                       "repeat": {
  443.                         "for_each": [
  444.                           "cover.dg_rl_ank"
  445.                         ],
  446.                         "sequence": [
  447.                           {
  448.                             "if": [
  449.                               false
  450.                             ],
  451.                             "then": [
  452.                               {
  453.                                 "alias": "Reset Tilt",
  454.                                 "service": "cover.set_cover_tilt_position",
  455.                                 "data": {
  456.                                   "tilt_position": 0
  457.                                 },
  458.                                 "target": {
  459.                                   "entity_id": ""
  460.                                 }
  461.                               },
  462.                               {
  463.                                 "delay": {
  464.                                   "seconds": 0
  465.                                 }
  466.                               }
  467.                             ]
  468.                           },
  469.                           {
  470.                             "alias": "Tilt Delay",
  471.                             "delay": {
  472.                               "seconds": 0
  473.                             }
  474.                           },
  475.                           {
  476.                             "alias": "Moving the cover to tilt position",
  477.                             "service": "cover.set_cover_tilt_position",
  478.                             "data": {
  479.                               "tilt_position": 101
  480.                             },
  481.                             "target": {
  482.                               "entity_id": ""
  483.                             }
  484.                           },
  485.                           {
  486.                             "delay": {
  487.                               "seconds": 2
  488.                             }
  489.                           }
  490.                         ]
  491.                       }
  492.                     }
  493.                   ]
  494.                 }
  495.               ]
  496.             },
  497.             "helper_update": {
  498.               "if": [
  499.                 true
  500.               ],
  501.               "then": [
  502.                 {
  503.                   "alias": "Update cover status helper",
  504.                   "service": "input_text.set_value",
  505.                   "data": {
  506.                     "entity_id": "input_text.cover_status_helper_ankleide",
  507.                     "value": {
  508.                       "open": {
  509.                         "a": 1,
  510.                         "t": 1751366731
  511.                       },
  512.                       "close": {
  513.                         "a": 0,
  514.                         "t": 1751313693
  515.                       },
  516.                       "shading": {
  517.                         "a": 1,
  518.                         "t": 1751380669,
  519.                         "p": 0,
  520.                         "q": 1751381269
  521.                       },
  522.                       "vpart": {
  523.                         "a": 0,
  524.                         "t": 0
  525.                       },
  526.                       "vfull": {
  527.                         "a": 0,
  528.                         "t": 0
  529.                       },
  530.                       "manual": {
  531.                         "a": 0,
  532.                         "t": 1751192507
  533.                       },
  534.                       "v": 5,
  535.                       "t": 1751380669
  536.                     }
  537.                   }
  538.                 }
  539.               ]
  540.             }
  541.           }
  542.         }
  543.       ],
  544.       "action/1": [
  545.         {
  546.           "path": "action/1",
  547.           "timestamp": "2025-07-01T14:40:54.544305+00:00"
  548.         }
  549.       ],
  550.       "action/1/if": [
  551.         {
  552.           "path": "action/1/if",
  553.           "timestamp": "2025-07-01T14:40:54.544779+00:00",
  554.           "result": {
  555.             "result": false
  556.           }
  557.         }
  558.       ],
  559.       "action/1/if/condition/0": [
  560.         {
  561.           "path": "action/1/if/condition/0",
  562.           "timestamp": "2025-07-01T14:40:54.545698+00:00",
  563.           "result": {
  564.             "result": true,
  565.             "entities": []
  566.           }
  567.         }
  568.       ],
  569.       "action/1/if/condition/1": [
  570.         {
  571.           "path": "action/1/if/condition/1",
  572.           "timestamp": "2025-07-01T14:40:54.547669+00:00",
  573.           "result": {
  574.             "result": false,
  575.             "entities": []
  576.           }
  577.         }
  578.       ],
  579.       "action/2": [
  580.         {
  581.           "path": "action/2",
  582.           "timestamp": "2025-07-01T14:40:54.549830+00:00"
  583.         }
  584.       ],
  585.       "action/2/if": [
  586.         {
  587.           "path": "action/2/if",
  588.           "timestamp": "2025-07-01T14:40:54.550235+00:00",
  589.           "result": {
  590.             "result": false
  591.           }
  592.         }
  593.       ],
  594.       "action/2/if/condition/0": [
  595.         {
  596.           "path": "action/2/if/condition/0",
  597.           "timestamp": "2025-07-01T14:40:54.551126+00:00",
  598.           "result": {
  599.             "result": true,
  600.             "entities": []
  601.           }
  602.         }
  603.       ],
  604.       "action/2/if/condition/1": [
  605.         {
  606.           "path": "action/2/if/condition/1",
  607.           "timestamp": "2025-07-01T14:40:54.552757+00:00",
  608.           "result": {
  609.             "result": true,
  610.             "entities": []
  611.           }
  612.         }
  613.       ],
  614.       "action/2/if/condition/2": [
  615.         {
  616.           "path": "action/2/if/condition/2",
  617.           "timestamp": "2025-07-01T14:40:54.554484+00:00",
  618.           "result": {
  619.             "result": false
  620.           }
  621.         }
  622.       ],
  623.       "action/2/if/condition/2/conditions/0": [
  624.         {
  625.           "path": "action/2/if/condition/2/conditions/0",
  626.           "timestamp": "2025-07-01T14:40:54.555415+00:00",
  627.           "result": {
  628.             "result": false,
  629.             "entities": [
  630.               "input_text.cover_status_helper_ankleide"
  631.             ]
  632.           }
  633.         }
  634.       ],
  635.       "action/2/if/condition/2/conditions/1": [
  636.         {
  637.           "path": "action/2/if/condition/2/conditions/1",
  638.           "timestamp": "2025-07-01T14:40:54.557177+00:00",
  639.           "result": {
  640.             "result": false,
  641.             "entities": [
  642.               "input_text.cover_status_helper_ankleide"
  643.             ]
  644.           }
  645.         }
  646.       ],
  647.       "action/3": [
  648.         {
  649.           "path": "action/3",
  650.           "timestamp": "2025-07-01T14:40:54.559835+00:00"
  651.         }
  652.       ],
  653.       "action/3/if": [
  654.         {
  655.           "path": "action/3/if",
  656.           "timestamp": "2025-07-01T14:40:54.560223+00:00",
  657.           "result": {
  658.             "result": false
  659.           }
  660.         }
  661.       ],
  662.       "action/3/if/condition/0": [
  663.         {
  664.           "path": "action/3/if/condition/0",
  665.           "timestamp": "2025-07-01T14:40:54.561108+00:00",
  666.           "result": {
  667.             "result": true,
  668.             "entities": []
  669.           }
  670.         }
  671.       ],
  672.       "action/3/if/condition/1": [
  673.         {
  674.           "path": "action/3/if/condition/1",
  675.           "timestamp": "2025-07-01T14:40:54.562747+00:00",
  676.           "result": {
  677.             "result": false,
  678.             "entities": []
  679.           }
  680.         }
  681.       ],
  682.       "action/4": [
  683.         {
  684.           "path": "action/4",
  685.           "timestamp": "2025-07-01T14:40:54.564723+00:00",
  686.           "result": {
  687.             "choice": "default"
  688.           }
  689.         }
  690.       ],
  691.       "action/4/choose/0": [
  692.         {
  693.           "path": "action/4/choose/0",
  694.           "timestamp": "2025-07-01T14:40:54.565087+00:00",
  695.           "result": {
  696.             "result": false
  697.           }
  698.         }
  699.       ],
  700.       "action/4/choose/0/conditions/0": [
  701.         {
  702.           "path": "action/4/choose/0/conditions/0",
  703.           "timestamp": "2025-07-01T14:40:54.566036+00:00",
  704.           "result": {
  705.             "result": true,
  706.             "entities": []
  707.           }
  708.         }
  709.       ],
  710.       "action/4/choose/0/conditions/1": [
  711.         {
  712.           "path": "action/4/choose/0/conditions/1",
  713.           "timestamp": "2025-07-01T14:40:54.567570+00:00",
  714.           "result": {
  715.             "result": true,
  716.             "entities": []
  717.           }
  718.         }
  719.       ],
  720.       "action/4/choose/0/conditions/2": [
  721.         {
  722.           "path": "action/4/choose/0/conditions/2",
  723.           "timestamp": "2025-07-01T14:40:54.569169+00:00",
  724.           "result": {
  725.             "result": false,
  726.             "entities": []
  727.           }
  728.         }
  729.       ],
  730.       "action/4/choose/1": [
  731.         {
  732.           "path": "action/4/choose/1",
  733.           "timestamp": "2025-07-01T14:40:54.570858+00:00",
  734.           "result": {
  735.             "result": false
  736.           }
  737.         }
  738.       ],
  739.       "action/4/choose/1/conditions/0": [
  740.         {
  741.           "path": "action/4/choose/1/conditions/0",
  742.           "timestamp": "2025-07-01T14:40:54.571795+00:00",
  743.           "result": {
  744.             "result": true,
  745.             "entities": []
  746.           }
  747.         }
  748.       ],
  749.       "action/4/choose/1/conditions/1": [
  750.         {
  751.           "path": "action/4/choose/1/conditions/1",
  752.           "timestamp": "2025-07-01T14:40:54.573649+00:00",
  753.           "result": {
  754.             "result": true,
  755.             "entities": []
  756.           }
  757.         }
  758.       ],
  759.       "action/4/choose/1/conditions/2": [
  760.         {
  761.           "path": "action/4/choose/1/conditions/2",
  762.           "timestamp": "2025-07-01T14:40:54.575225+00:00",
  763.           "result": {
  764.             "result": false,
  765.             "entities": []
  766.           }
  767.         }
  768.       ],
  769.       "action/4/choose/2": [
  770.         {
  771.           "path": "action/4/choose/2",
  772.           "timestamp": "2025-07-01T14:40:54.577084+00:00",
  773.           "result": {
  774.             "result": false
  775.           }
  776.         }
  777.       ],
  778.       "action/4/choose/2/conditions/0": [
  779.         {
  780.           "path": "action/4/choose/2/conditions/0",
  781.           "timestamp": "2025-07-01T14:40:54.578014+00:00",
  782.           "result": {
  783.             "result": true,
  784.             "entities": []
  785.           }
  786.         }
  787.       ],
  788.       "action/4/choose/2/conditions/1": [
  789.         {
  790.           "path": "action/4/choose/2/conditions/1",
  791.           "timestamp": "2025-07-01T14:40:54.579523+00:00",
  792.           "result": {
  793.             "result": true,
  794.             "entities": []
  795.           }
  796.         }
  797.       ],
  798.       "action/4/choose/2/conditions/2": [
  799.         {
  800.           "path": "action/4/choose/2/conditions/2",
  801.           "timestamp": "2025-07-01T14:40:54.581206+00:00",
  802.           "result": {
  803.             "result": true,
  804.             "entities": []
  805.           }
  806.         }
  807.       ],
  808.       "action/4/choose/2/conditions/3": [
  809.         {
  810.           "path": "action/4/choose/2/conditions/3",
  811.           "timestamp": "2025-07-01T14:40:54.582898+00:00",
  812.           "result": {
  813.             "result": true,
  814.             "entities": []
  815.           }
  816.         }
  817.       ],
  818.       "action/4/choose/2/conditions/4": [
  819.         {
  820.           "path": "action/4/choose/2/conditions/4",
  821.           "timestamp": "2025-07-01T14:40:54.584516+00:00",
  822.           "result": {
  823.             "result": true
  824.           }
  825.         }
  826.       ],
  827.       "action/4/choose/2/conditions/5": [
  828.         {
  829.           "path": "action/4/choose/2/conditions/5",
  830.           "timestamp": "2025-07-01T14:40:54.585443+00:00",
  831.           "result": {
  832.             "result": true
  833.           }
  834.         }
  835.       ],
  836.       "action/4/choose/2/conditions/5/conditions/0": [
  837.         {
  838.           "path": "action/4/choose/2/conditions/5/conditions/0",
  839.           "timestamp": "2025-07-01T14:40:54.586295+00:00",
  840.           "result": {
  841.             "result": true,
  842.             "entities": []
  843.           }
  844.         }
  845.       ],
  846.       "action/4/choose/2/conditions/5/conditions/1": [
  847.         {
  848.           "path": "action/4/choose/2/conditions/5/conditions/1",
  849.           "timestamp": "2025-07-01T14:40:54.587866+00:00",
  850.           "result": {
  851.             "result": true,
  852.             "entities": []
  853.           }
  854.         }
  855.       ],
  856.       "action/4/choose/2/conditions/5/conditions/2": [
  857.         {
  858.           "path": "action/4/choose/2/conditions/5/conditions/2",
  859.           "timestamp": "2025-07-01T14:40:54.589472+00:00",
  860.           "result": {
  861.             "result": true,
  862.             "entities": []
  863.           }
  864.         }
  865.       ],
  866.       "action/4/choose/2/conditions/6": [
  867.         {
  868.           "path": "action/4/choose/2/conditions/6",
  869.           "timestamp": "2025-07-01T14:40:54.591063+00:00",
  870.           "result": {
  871.             "result": true
  872.           }
  873.         }
  874.       ],
  875.       "action/4/choose/2/conditions/6/conditions/0": [
  876.         {
  877.           "path": "action/4/choose/2/conditions/6/conditions/0",
  878.           "timestamp": "2025-07-01T14:40:54.591945+00:00",
  879.           "result": {
  880.             "result": false,
  881.             "entities": []
  882.           }
  883.         }
  884.       ],
  885.       "action/4/choose/2/conditions/6/conditions/1": [
  886.         {
  887.           "path": "action/4/choose/2/conditions/6/conditions/1",
  888.           "timestamp": "2025-07-01T14:40:54.593739+00:00",
  889.           "result": {
  890.             "result": true,
  891.             "entities": []
  892.           }
  893.         }
  894.       ],
  895.       "action/4/choose/2/conditions/7": [
  896.         {
  897.           "path": "action/4/choose/2/conditions/7",
  898.           "timestamp": "2025-07-01T14:40:54.595273+00:00",
  899.           "result": {
  900.             "result": false
  901.           }
  902.         }
  903.       ],
  904.       "action/4/choose/2/conditions/7/conditions/0": [
  905.         {
  906.           "path": "action/4/choose/2/conditions/7/conditions/0",
  907.           "timestamp": "2025-07-01T14:40:54.596196+00:00",
  908.           "result": {
  909.             "result": false
  910.           }
  911.         }
  912.       ],
  913.       "action/4/choose/2/conditions/7/conditions/0/conditions/0": [
  914.         {
  915.           "path": "action/4/choose/2/conditions/7/conditions/0/conditions/0",
  916.           "timestamp": "2025-07-01T14:40:54.597047+00:00",
  917.           "result": {
  918.             "result": true,
  919.             "entities": []
  920.           }
  921.         }
  922.       ],
  923.       "action/4/choose/2/conditions/7/conditions/0/conditions/1": [
  924.         {
  925.           "path": "action/4/choose/2/conditions/7/conditions/0/conditions/1",
  926.           "timestamp": "2025-07-01T14:40:54.599001+00:00",
  927.           "result": {
  928.             "result": false,
  929.             "entities": []
  930.           }
  931.         }
  932.       ],
  933.       "action/4/choose/2/conditions/7/conditions/1": [
  934.         {
  935.           "path": "action/4/choose/2/conditions/7/conditions/1",
  936.           "timestamp": "2025-07-01T14:40:54.600699+00:00",
  937.           "result": {
  938.             "result": false
  939.           }
  940.         }
  941.       ],
  942.       "action/4/choose/2/conditions/7/conditions/1/conditions/0": [
  943.         {
  944.           "path": "action/4/choose/2/conditions/7/conditions/1/conditions/0",
  945.           "timestamp": "2025-07-01T14:40:54.601538+00:00",
  946.           "result": {
  947.             "result": false,
  948.             "entities": []
  949.           }
  950.         }
  951.       ],
  952.       "action/4/choose/3": [
  953.         {
  954.           "path": "action/4/choose/3",
  955.           "timestamp": "2025-07-01T14:40:54.603438+00:00",
  956.           "result": {
  957.             "result": false
  958.           }
  959.         }
  960.       ],
  961.       "action/4/choose/3/conditions/0": [
  962.         {
  963.           "path": "action/4/choose/3/conditions/0",
  964.           "timestamp": "2025-07-01T14:40:54.604697+00:00",
  965.           "result": {
  966.             "result": true,
  967.             "entities": []
  968.           }
  969.         }
  970.       ],
  971.       "action/4/choose/3/conditions/1": [
  972.         {
  973.           "path": "action/4/choose/3/conditions/1",
  974.           "timestamp": "2025-07-01T14:40:54.606271+00:00",
  975.           "result": {
  976.             "result": true,
  977.             "entities": []
  978.           }
  979.         }
  980.       ],
  981.       "action/4/choose/3/conditions/2": [
  982.         {
  983.           "path": "action/4/choose/3/conditions/2",
  984.           "timestamp": "2025-07-01T14:40:54.607920+00:00",
  985.           "result": {
  986.             "result": false,
  987.             "entities": []
  988.           }
  989.         }
  990.       ],
  991.       "action/4/choose/4": [
  992.         {
  993.           "path": "action/4/choose/4",
  994.           "timestamp": "2025-07-01T14:40:54.609867+00:00",
  995.           "result": {
  996.             "result": false
  997.           }
  998.         }
  999.       ],
  1000.       "action/4/choose/4/conditions/0": [
  1001.         {
  1002.           "path": "action/4/choose/4/conditions/0",
  1003.           "timestamp": "2025-07-01T14:40:54.610821+00:00",
  1004.           "result": {
  1005.             "result": true,
  1006.             "entities": []
  1007.           }
  1008.         }
  1009.       ],
  1010.       "action/4/choose/4/conditions/1": [
  1011.         {
  1012.           "path": "action/4/choose/4/conditions/1",
  1013.           "timestamp": "2025-07-01T14:40:54.612381+00:00",
  1014.           "result": {
  1015.             "result": true,
  1016.             "entities": []
  1017.           }
  1018.         }
  1019.       ],
  1020.       "action/4/choose/4/conditions/2": [
  1021.         {
  1022.           "path": "action/4/choose/4/conditions/2",
  1023.           "timestamp": "2025-07-01T14:40:54.614044+00:00",
  1024.           "result": {
  1025.             "result": false,
  1026.             "entities": []
  1027.           }
  1028.         }
  1029.       ],
  1030.       "action/4/choose/5": [
  1031.         {
  1032.           "path": "action/4/choose/5",
  1033.           "timestamp": "2025-07-01T14:40:54.615719+00:00",
  1034.           "result": {
  1035.             "result": false
  1036.           }
  1037.         }
  1038.       ],
  1039.       "action/4/choose/5/conditions/0": [
  1040.         {
  1041.           "path": "action/4/choose/5/conditions/0",
  1042.           "timestamp": "2025-07-01T14:40:54.616586+00:00",
  1043.           "result": {
  1044.             "result": true,
  1045.             "entities": []
  1046.           }
  1047.         }
  1048.       ],
  1049.       "action/4/choose/5/conditions/1": [
  1050.         {
  1051.           "path": "action/4/choose/5/conditions/1",
  1052.           "timestamp": "2025-07-01T14:40:54.618195+00:00",
  1053.           "result": {
  1054.             "result": true,
  1055.             "entities": []
  1056.           }
  1057.         }
  1058.       ],
  1059.       "action/4/choose/5/conditions/2": [
  1060.         {
  1061.           "path": "action/4/choose/5/conditions/2",
  1062.           "timestamp": "2025-07-01T14:40:54.619854+00:00",
  1063.           "result": {
  1064.             "result": false,
  1065.             "entities": []
  1066.           }
  1067.         }
  1068.       ],
  1069.       "action/4/choose/6": [
  1070.         {
  1071.           "path": "action/4/choose/6",
  1072.           "timestamp": "2025-07-01T14:40:54.621467+00:00",
  1073.           "result": {
  1074.             "result": false
  1075.           }
  1076.         }
  1077.       ],
  1078.       "action/4/choose/6/conditions/0": [
  1079.         {
  1080.           "path": "action/4/choose/6/conditions/0",
  1081.           "timestamp": "2025-07-01T14:40:54.622402+00:00",
  1082.           "result": {
  1083.             "result": true,
  1084.             "entities": []
  1085.           }
  1086.         }
  1087.       ],
  1088.       "action/4/choose/6/conditions/1": [
  1089.         {
  1090.           "path": "action/4/choose/6/conditions/1",
  1091.           "timestamp": "2025-07-01T14:40:54.624000+00:00",
  1092.           "result": {
  1093.             "result": true,
  1094.             "entities": []
  1095.           }
  1096.         }
  1097.       ],
  1098.       "action/4/choose/6/conditions/2": [
  1099.         {
  1100.           "path": "action/4/choose/6/conditions/2",
  1101.           "timestamp": "2025-07-01T14:40:54.625567+00:00",
  1102.           "result": {
  1103.             "result": true,
  1104.             "entities": []
  1105.           }
  1106.         }
  1107.       ],
  1108.       "action/4/choose/6/conditions/3": [
  1109.         {
  1110.           "path": "action/4/choose/6/conditions/3",
  1111.           "timestamp": "2025-07-01T14:40:54.627176+00:00",
  1112.           "result": {
  1113.             "result": true
  1114.           }
  1115.         }
  1116.       ],
  1117.       "action/4/choose/6/conditions/4": [
  1118.         {
  1119.           "path": "action/4/choose/6/conditions/4",
  1120.           "timestamp": "2025-07-01T14:40:54.628107+00:00",
  1121.           "result": {
  1122.             "result": true,
  1123.             "entities": []
  1124.           }
  1125.         }
  1126.       ],
  1127.       "action/4/choose/6/conditions/5": [
  1128.         {
  1129.           "path": "action/4/choose/6/conditions/5",
  1130.           "timestamp": "2025-07-01T14:40:54.629825+00:00",
  1131.           "result": {
  1132.             "result": true,
  1133.             "entities": []
  1134.           }
  1135.         }
  1136.       ],
  1137.       "action/4/choose/6/conditions/6": [
  1138.         {
  1139.           "path": "action/4/choose/6/conditions/6",
  1140.           "timestamp": "2025-07-01T14:40:54.631511+00:00",
  1141.           "result": {
  1142.             "result": true
  1143.           }
  1144.         }
  1145.       ],
  1146.       "action/4/choose/6/conditions/6/conditions/0": [
  1147.         {
  1148.           "path": "action/4/choose/6/conditions/6/conditions/0",
  1149.           "timestamp": "2025-07-01T14:40:54.632673+00:00",
  1150.           "result": {
  1151.             "result": true,
  1152.             "entities": []
  1153.           }
  1154.         }
  1155.       ],
  1156.       "action/4/choose/6/conditions/6/conditions/1": [
  1157.         {
  1158.           "path": "action/4/choose/6/conditions/6/conditions/1",
  1159.           "timestamp": "2025-07-01T14:40:54.634327+00:00",
  1160.           "result": {
  1161.             "result": true,
  1162.             "entities": []
  1163.           }
  1164.         }
  1165.       ],
  1166.       "action/4/choose/6/conditions/6/conditions/2": [
  1167.         {
  1168.           "path": "action/4/choose/6/conditions/6/conditions/2",
  1169.           "timestamp": "2025-07-01T14:40:54.636081+00:00",
  1170.           "result": {
  1171.             "result": true,
  1172.             "entities": []
  1173.           }
  1174.         }
  1175.       ],
  1176.       "action/4/choose/6/conditions/6/conditions/3": [
  1177.         {
  1178.           "path": "action/4/choose/6/conditions/6/conditions/3",
  1179.           "timestamp": "2025-07-01T14:40:54.637863+00:00",
  1180.           "result": {
  1181.             "result": true,
  1182.             "entities": []
  1183.           }
  1184.         }
  1185.       ],
  1186.       "action/4/choose/6/conditions/7": [
  1187.         {
  1188.           "path": "action/4/choose/6/conditions/7",
  1189.           "timestamp": "2025-07-01T14:40:54.639678+00:00",
  1190.           "result": {
  1191.             "result": true,
  1192.             "entities": []
  1193.           }
  1194.         }
  1195.       ],
  1196.       "action/4/choose/6/conditions/8": [
  1197.         {
  1198.           "path": "action/4/choose/6/conditions/8",
  1199.           "timestamp": "2025-07-01T14:40:54.641533+00:00",
  1200.           "result": {
  1201.             "result": false
  1202.           }
  1203.         }
  1204.       ],
  1205.       "action/4/choose/6/conditions/8/conditions/0": [
  1206.         {
  1207.           "path": "action/4/choose/6/conditions/8/conditions/0",
  1208.           "timestamp": "2025-07-01T14:40:54.642588+00:00",
  1209.           "result": {
  1210.             "result": false
  1211.           }
  1212.         }
  1213.       ],
  1214.       "action/4/choose/6/conditions/8/conditions/0/conditions/0": [
  1215.         {
  1216.           "path": "action/4/choose/6/conditions/8/conditions/0/conditions/0",
  1217.           "timestamp": "2025-07-01T14:40:54.643527+00:00",
  1218.           "result": {
  1219.             "result": false,
  1220.             "entities": []
  1221.           }
  1222.         }
  1223.       ],
  1224.       "action/4/choose/6/conditions/8/conditions/1": [
  1225.         {
  1226.           "path": "action/4/choose/6/conditions/8/conditions/1",
  1227.           "timestamp": "2025-07-01T14:40:54.645240+00:00",
  1228.           "result": {
  1229.             "result": false
  1230.           }
  1231.         }
  1232.       ],
  1233.       "action/4/choose/6/conditions/8/conditions/1/conditions/0": [
  1234.         {
  1235.           "path": "action/4/choose/6/conditions/8/conditions/1/conditions/0",
  1236.           "timestamp": "2025-07-01T14:40:54.646194+00:00",
  1237.           "result": {
  1238.             "result": false,
  1239.             "entities": []
  1240.           }
  1241.         }
  1242.       ],
  1243.       "action/4/choose/6/conditions/8/conditions/2": [
  1244.         {
  1245.           "path": "action/4/choose/6/conditions/8/conditions/2",
  1246.           "timestamp": "2025-07-01T14:40:54.648211+00:00",
  1247.           "result": {
  1248.             "result": false
  1249.           }
  1250.         }
  1251.       ],
  1252.       "action/4/choose/6/conditions/8/conditions/2/conditions/0": [
  1253.         {
  1254.           "path": "action/4/choose/6/conditions/8/conditions/2/conditions/0",
  1255.           "timestamp": "2025-07-01T14:40:54.649127+00:00",
  1256.           "result": {
  1257.             "result": false,
  1258.             "entities": []
  1259.           }
  1260.         }
  1261.       ],
  1262.       "action/4/choose/7": [
  1263.         {
  1264.           "path": "action/4/choose/7",
  1265.           "timestamp": "2025-07-01T14:40:54.651171+00:00",
  1266.           "result": {
  1267.             "result": false
  1268.           }
  1269.         }
  1270.       ],
  1271.       "action/4/choose/7/conditions/0": [
  1272.         {
  1273.           "path": "action/4/choose/7/conditions/0",
  1274.           "timestamp": "2025-07-01T14:40:54.652141+00:00",
  1275.           "result": {
  1276.             "result": true,
  1277.             "entities": []
  1278.           }
  1279.         }
  1280.       ],
  1281.       "action/4/choose/7/conditions/1": [
  1282.         {
  1283.           "path": "action/4/choose/7/conditions/1",
  1284.           "timestamp": "2025-07-01T14:40:54.653859+00:00",
  1285.           "result": {
  1286.             "result": false,
  1287.             "entities": []
  1288.           }
  1289.         }
  1290.       ],
  1291.       "action/4/choose/8": [
  1292.         {
  1293.           "path": "action/4/choose/8",
  1294.           "timestamp": "2025-07-01T14:40:54.655541+00:00",
  1295.           "result": {
  1296.             "result": false
  1297.           }
  1298.         }
  1299.       ],
  1300.       "action/4/choose/8/conditions/0": [
  1301.         {
  1302.           "path": "action/4/choose/8/conditions/0",
  1303.           "timestamp": "2025-07-01T14:40:54.656468+00:00",
  1304.           "result": {
  1305.             "result": true,
  1306.             "entities": []
  1307.           }
  1308.         }
  1309.       ],
  1310.       "action/4/choose/8/conditions/1": [
  1311.         {
  1312.           "path": "action/4/choose/8/conditions/1",
  1313.           "timestamp": "2025-07-01T14:40:54.658248+00:00",
  1314.           "result": {
  1315.             "result": false,
  1316.             "entities": []
  1317.           }
  1318.         }
  1319.       ],
  1320.       "action/4/choose/9": [
  1321.         {
  1322.           "path": "action/4/choose/9",
  1323.           "timestamp": "2025-07-01T14:40:54.660214+00:00",
  1324.           "result": {
  1325.             "result": false
  1326.           }
  1327.         }
  1328.       ],
  1329.       "action/4/choose/9/conditions/0": [
  1330.         {
  1331.           "path": "action/4/choose/9/conditions/0",
  1332.           "timestamp": "2025-07-01T14:40:54.661189+00:00",
  1333.           "result": {
  1334.             "result": true,
  1335.             "entities": []
  1336.           }
  1337.         }
  1338.       ],
  1339.       "action/4/choose/9/conditions/1": [
  1340.         {
  1341.           "path": "action/4/choose/9/conditions/1",
  1342.           "timestamp": "2025-07-01T14:40:54.662882+00:00",
  1343.           "result": {
  1344.             "result": false,
  1345.             "entities": []
  1346.           }
  1347.         }
  1348.       ],
  1349.       "action/4/choose/10": [
  1350.         {
  1351.           "path": "action/4/choose/10",
  1352.           "timestamp": "2025-07-01T14:40:54.664664+00:00",
  1353.           "result": {
  1354.             "result": false
  1355.           }
  1356.         }
  1357.       ],
  1358.       "action/4/choose/10/conditions/0": [
  1359.         {
  1360.           "path": "action/4/choose/10/conditions/0",
  1361.           "timestamp": "2025-07-01T14:40:54.665551+00:00",
  1362.           "result": {
  1363.             "result": true,
  1364.             "entities": []
  1365.           }
  1366.         }
  1367.       ],
  1368.       "action/4/choose/10/conditions/1": [
  1369.         {
  1370.           "path": "action/4/choose/10/conditions/1",
  1371.           "timestamp": "2025-07-01T14:40:54.667218+00:00",
  1372.           "result": {
  1373.             "result": false,
  1374.             "entities": []
  1375.           }
  1376.         }
  1377.       ],
  1378.       "action/4/choose/11": [
  1379.         {
  1380.           "path": "action/4/choose/11",
  1381.           "timestamp": "2025-07-01T14:40:54.668922+00:00",
  1382.           "result": {
  1383.             "result": false
  1384.           }
  1385.         }
  1386.       ],
  1387.       "action/4/choose/11/conditions/0": [
  1388.         {
  1389.           "path": "action/4/choose/11/conditions/0",
  1390.           "timestamp": "2025-07-01T14:40:54.669862+00:00",
  1391.           "result": {
  1392.             "result": true,
  1393.             "entities": []
  1394.           }
  1395.         }
  1396.       ],
  1397.       "action/4/choose/11/conditions/1": [
  1398.         {
  1399.           "path": "action/4/choose/11/conditions/1",
  1400.           "timestamp": "2025-07-01T14:40:54.671901+00:00",
  1401.           "result": {
  1402.             "result": true,
  1403.             "entities": []
  1404.           }
  1405.         }
  1406.       ],
  1407.       "action/4/choose/11/conditions/2": [
  1408.         {
  1409.           "path": "action/4/choose/11/conditions/2",
  1410.           "timestamp": "2025-07-01T14:40:54.673703+00:00",
  1411.           "result": {
  1412.             "result": true,
  1413.             "entities": []
  1414.           }
  1415.         }
  1416.       ],
  1417.       "action/4/choose/11/conditions/3": [
  1418.         {
  1419.           "path": "action/4/choose/11/conditions/3",
  1420.           "timestamp": "2025-07-01T14:40:54.675316+00:00",
  1421.           "result": {
  1422.             "result": true,
  1423.             "entities": []
  1424.           }
  1425.         }
  1426.       ],
  1427.       "action/4/choose/11/conditions/4": [
  1428.         {
  1429.           "path": "action/4/choose/11/conditions/4",
  1430.           "timestamp": "2025-07-01T14:40:54.677030+00:00",
  1431.           "result": {
  1432.             "result": true,
  1433.             "entities": []
  1434.           }
  1435.         }
  1436.       ],
  1437.       "action/4/choose/11/conditions/5": [
  1438.         {
  1439.           "path": "action/4/choose/11/conditions/5",
  1440.           "timestamp": "2025-07-01T14:40:54.678894+00:00",
  1441.           "result": {
  1442.             "result": false,
  1443.             "entities": []
  1444.           }
  1445.         }
  1446.       ],
  1447.       "action/4/choose/12": [
  1448.         {
  1449.           "path": "action/4/choose/12",
  1450.           "timestamp": "2025-07-01T14:40:54.680728+00:00",
  1451.           "result": {
  1452.             "result": false
  1453.           }
  1454.         }
  1455.       ],
  1456.       "action/4/choose/12/conditions/0": [
  1457.         {
  1458.           "path": "action/4/choose/12/conditions/0",
  1459.           "timestamp": "2025-07-01T14:40:54.681636+00:00",
  1460.           "result": {
  1461.             "result": true,
  1462.             "entities": []
  1463.           }
  1464.         }
  1465.       ],
  1466.       "action/4/choose/12/conditions/1": [
  1467.         {
  1468.           "path": "action/4/choose/12/conditions/1",
  1469.           "timestamp": "2025-07-01T14:40:54.683288+00:00",
  1470.           "result": {
  1471.             "result": false,
  1472.             "entities": []
  1473.           }
  1474.         }
  1475.       ],
  1476.       "action/4/choose/13": [
  1477.         {
  1478.           "path": "action/4/choose/13",
  1479.           "timestamp": "2025-07-01T14:40:54.685735+00:00",
  1480.           "result": {
  1481.             "result": false
  1482.           }
  1483.         }
  1484.       ],
  1485.       "action/4/choose/13/conditions/0": [
  1486.         {
  1487.           "path": "action/4/choose/13/conditions/0",
  1488.           "timestamp": "2025-07-01T14:40:54.686653+00:00",
  1489.           "result": {
  1490.             "result": true,
  1491.             "entities": []
  1492.           }
  1493.         }
  1494.       ],
  1495.       "action/4/choose/13/conditions/1": [
  1496.         {
  1497.           "path": "action/4/choose/13/conditions/1",
  1498.           "timestamp": "2025-07-01T14:40:54.688303+00:00",
  1499.           "result": {
  1500.             "result": false,
  1501.             "entities": []
  1502.           }
  1503.         }
  1504.       ],
  1505.       "action/4/default/0": [
  1506.         {
  1507.           "path": "action/4/default/0",
  1508.           "timestamp": "2025-07-01T14:40:54.690485+00:00"
  1509.         }
  1510.       ],
  1511.       "action/4/default/0/if": [
  1512.         {
  1513.           "path": "action/4/default/0/if",
  1514.           "timestamp": "2025-07-01T14:40:54.691056+00:00",
  1515.           "result": {
  1516.             "result": false
  1517.           }
  1518.         }
  1519.       ],
  1520.       "action/4/default/0/if/condition/0": [
  1521.         {
  1522.           "path": "action/4/default/0/if/condition/0",
  1523.           "timestamp": "2025-07-01T14:40:54.691963+00:00",
  1524.           "result": {
  1525.             "result": false,
  1526.             "entities": []
  1527.           }
  1528.         }
  1529.       ]
  1530.     },
  1531.     "config": {
  1532.       "trigger_variables": {
  1533.         "blind": "cover.dg_rl_ank",
  1534.         "open_position": 100,
  1535.         "close_position": 0,
  1536.         "ventilate_position": 99,
  1537.         "shading_position": 1,
  1538.         "position_tolerance": 0,
  1539.         "open_tilt_position": 50,
  1540.         "close_tilt_position": 50,
  1541.         "ventilate_tilt_position": 50,
  1542.         "shading_tilt_elevation_1": 20,
  1543.         "shading_tilt_elevation_2": 30,
  1544.         "shading_tilt_elevation_3": 48,
  1545.         "shading_tilt_position_0": 0,
  1546.         "shading_tilt_position_1": 20,
  1547.         "shading_tilt_position_2": 37,
  1548.         "shading_tilt_position_3": 50,
  1549.         "auto_options": [
  1550.           "auto_up_enabled",
  1551.           "auto_down_enabled",
  1552.           "auto_sun_enabled",
  1553.           "auto_shading_enabled",
  1554.           "auto_ventilate_enabled"
  1555.         ],
  1556.         "time_up_early": "07:00:00",
  1557.         "time_up_early_non_workday": "08:00:00",
  1558.         "time_up_late": "08:00:00",
  1559.         "time_up_late_non_workday": "09:00:00",
  1560.         "time_down_early": "20:00:00",
  1561.         "time_down_early_non_workday": "20:00:00",
  1562.         "time_down_late": "22:00:00",
  1563.         "time_down_late_non_workday": "22:00:00",
  1564.         "workday_sensor_today": "binary_sensor.workday_sensor",
  1565.         "workday_sensor_tomorrow": "binary_sensor.workday_sensor_tomorrow",
  1566.         "default_brightness_sensor": [],
  1567.         "brightness_up": 0,
  1568.         "brightness_down": 0,
  1569.         "default_sun_sensor": "sun.sun",
  1570.         "sun_elevation_up": 5,
  1571.         "sun_elevation_down": -6,
  1572.         "resident_sensor": [],
  1573.         "contact_window_tilted": [],
  1574.         "contact_window_opened": "binary_sensor.tfk_ank",
  1575.         "lockout_tilted_options": [
  1576.           "lockout_tilted_closing",
  1577.           "lockout_tilted_shading_start"
  1578.         ],
  1579.         "lockout_tilted_when_closing": "{{ 'lockout_tilted_closing' in lockout_tilted_options }}",
  1580.         "lockout_tilted_when_shading_starts": "{{ 'lockout_tilted_shading_start' in lockout_tilted_options }}",
  1581.         "lockout_tilted_when_shading_ends": "{{ 'lockout_tilted_shading_end' in lockout_tilted_options }}",
  1582.         "time_control": "time_control_input",
  1583.         "time_schedule_helper": [],
  1584.         "shading_brightness_sensor": "sensor.helligkeit_aussen",
  1585.         "shading_temperatur_sensor1": "sensor.dg_wt_sz_temperatur",
  1586.         "shading_temperatur_sensor2": "sensor.raspberrymatic_sv_wm_temperatur",
  1587.         "shading_min_temperatur1": 20,
  1588.         "shading_min_temperatur2": 22,
  1589.         "shading_temperature_hysteresis1": 0.2,
  1590.         "shading_temperature_hysteresis2": 0.2,
  1591.         "shading_azimuth_start": 150,
  1592.         "shading_azimuth_end": 330,
  1593.         "shading_elevation_min": 25,
  1594.         "shading_elevation_max": 90,
  1595.         "shading_sun_brightness_start": 35000,
  1596.         "shading_sun_brightness_end": 10000,
  1597.         "shading_forecast_sensor": [],
  1598.         "shading_forecast_type": "weather_attributes",
  1599.         "shading_forecast_temp": [],
  1600.         "shading_weather_conditions": [
  1601.           "sunny",
  1602.           "partlycloudy",
  1603.           "cloudy",
  1604.           "clear"
  1605.         ],
  1606.         "is_shading_enabled": "{{ 'auto_shading_enabled' in auto_options }}",
  1607.         "cover_tilt_config": "cover_tilt_disabled",
  1608.         "is_cover_tilt_enabled": "{{ 'cover_tilt_enabled' in cover_tilt_config }}",
  1609.         "is_up_enabled": "{{ 'auto_up_enabled' in auto_options }}",
  1610.         "is_down_enabled": "{{ 'auto_down_enabled' in auto_options }}",
  1611.         "is_brightness_enabled": "{{ 'auto_brightness_enabled' in auto_options }}",
  1612.         "is_sun_elevation_enabled": "{{ 'auto_sun_enabled' in auto_options }}",
  1613.         "is_ventilation_enabled": "{{ 'auto_ventilate_enabled' in auto_options }}",
  1614.         "is_time_field_enabled": "{{ 'time_control_input' in time_control }}",
  1615.         "is_schedule_helper_enabled": "{{ 'time_control_schedule' in time_control and time_schedule_helper != [] }}",
  1616.         "is_time_control_disabled": "{{ 'time_control_disabled' in time_control }}",
  1617.         "reset_override_config": "reset_disabled",
  1618.         "reset_override_time": "00:01:00",
  1619.         "reset_override_timeout": 5,
  1620.         "is_reset_disabled": "{{ 'reset_disabled' in reset_override_config }}",
  1621.         "is_reset_fixed_time": "{{ 'reset_fixed_time' in reset_override_config }}",
  1622.         "is_reset_timeout": "{{ 'reset_timeout' in reset_override_config }}",
  1623.         "cover_status_options": "cover_helper_enabled",
  1624.         "cover_status_helper": "input_text.cover_status_helper_ankleide"
  1625.       },
  1626.       "variables": {
  1627.         "version": "2025.06.19",
  1628.         "blind_entities": "{{ expand(blind) | map(attribute='entity_id') | list }}",
  1629.         "current_position": "{{ state_attr(blind, 'current_position') | int(default=101) }}",
  1630.         "current_tilt_position": "{{ state_attr(blind,'current_tilt_position') | int(default=101) }}",
  1631.         "current_sun_azimuth": "{{ state_attr(default_sun_sensor, 'azimuth') }}",
  1632.         "current_sun_elevation": "{{ state_attr(default_sun_sensor, 'elevation') }}",
  1633.         "is_today_off": "{{ workday_sensor_today != [] and is_state(workday_sensor_today, 'off') }}",
  1634.         "is_tomorrow_off": "{{ workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') }}",
  1635.         "is_tomorrow_on": "{{ workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') }}",
  1636.         "drive_delay_fix": 90,
  1637.         "drive_delay_random": 0,
  1638.         "drive_time": 90,
  1639.         "time_up_early_today": "{{ time_up_early_non_workday if is_today_off else time_up_early }}",
  1640.         "time_up_late_today": "{{ time_up_late_non_workday if is_today_off else time_up_late }}",
  1641.         "time_down_early_today": "{{\n  time_down_early_non_workday if is_tomorrow_off else\n  time_down_early if is_tomorrow_on else\n  time_down_early_non_workday if is_today_off else\n  time_down_early\n}}",
  1642.         "time_down_late_today": "{{\n  time_down_late_non_workday if is_tomorrow_off else\n  time_down_late if is_tomorrow_on else\n  time_down_late_non_workday if is_today_off else\n  time_down_late\n}}",
  1643.         "auto_up_force": [],
  1644.         "auto_down_force": [],
  1645.         "auto_ventilate_force": [],
  1646.         "auto_shading_start_force": [],
  1647.         "auto_up_force_disabled": "{{ auto_up_force == [] or (auto_up_force != [] and states(auto_up_force) in ['false', 'off']) }}",
  1648.         "auto_down_force_disabled": "{{ auto_down_force == [] or (auto_down_force != [] and states(auto_down_force) in ['false', 'off']) }}",
  1649.         "auto_ventilate_force_disabled": "{{ auto_ventilate_force == [] or (auto_ventilate_force != [] and states(auto_ventilate_force) in ['false', 'off']) }}",
  1650.         "auto_shading_start_force_disabled": "{{ auto_shading_start_force == [] or (auto_shading_start_force != [] and states(auto_shading_start_force) in ['false', 'off']) }}",
  1651.         "is_cover_tilt_enabled_and_possible": "{{ is_cover_tilt_enabled and state_attr(blind, 'current_tilt_position') != none }}",
  1652.         "cover_tilt_reposition_config": "cover_tilt_reposition_disabled",
  1653.         "is_cover_tilt_reposition_enabled": "{{ 'cover_tilt_reposition_enabled' in cover_tilt_reposition_config }}",
  1654.         "shading_tilt_position": "{% set elevation = current_sun_elevation | int(default=0) %} {% if elevation >= shading_tilt_elevation_3 | int %}\n  {{ shading_tilt_position_3 | int }}\n{% elif elevation >= shading_tilt_elevation_2 | int %}\n  {{ shading_tilt_position_2 | int }}\n{% elif elevation >= shading_tilt_elevation_1 | int %}\n  {{ shading_tilt_position_1 | int }}\n{% else %}\n  {{ shading_tilt_position_0 | int }}\n{% endif %}",
  1655.         "shading_waitingtime_start": 300,
  1656.         "shading_waitingtime_end": 600,
  1657.         "is_shading_end_immediate_by_sun_position": false,
  1658.         "shading_start_behavior": "trigger_periodic",
  1659.         "shading_end_behavior": "open_position",
  1660.         "start_shading_trigger_reset": "{{ 'trigger_reset' in shading_start_behavior }}",
  1661.         "start_shading_trigger_periodic": "{{ 'trigger_periodic' in shading_start_behavior }}",
  1662.         "is_status_helper_enabled": "{{\n  'cover_helper_enabled' in cover_status_options and\n  cover_status_helper != [] and\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none', []] and\n  states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\")\n}}",
  1663.         "helper_state_json": "{% if is_status_helper_enabled %}\n  {{ states(cover_status_helper) | from_json }}\n{% else %}\n  {{\n    {\n      'open': {'a': 0, 't': 0},\n      'close': {'a': 0, 't': 0},\n      'shading': {'a': 0, 't': 0, 'p': 0, 'q': 0},\n      'vpart': {'a': 0, 't': 0},\n      'vfull': {'a': 0, 't': 0},\n      'manual': {'a': 0, 't': 0},\n      'v': 5,\n      't': as_timestamp(now()) | round(0)\n    } | to_json | from_json\n  }}\n{% endif %}\n",
  1664.         "is_helper_open": "{{ is_status_helper_enabled and (helper_state_json | regex_search('open')) and (helper_state_json.open.a | default(false) | bool) }}",
  1665.         "is_helper_closed": "{{ is_status_helper_enabled and (helper_state_json | regex_search('close')) and (helper_state_json.close.a | default(false) | bool) }}",
  1666.         "is_helper_shaded": "{{\n  'shading' in helper_state_json and\n  helper_state_json.shading.a | default(false) | bool and\n  not (helper_state_json.shading.p | default(false) | bool and\n      helper_state_json.shading.q | default(false) | bool)\n}}",
  1667.         "is_helper_shading_start": "{{ is_status_helper_enabled and (helper_state_json | regex_search('shading')) and (helper_state_json.shading.p | default(false) | bool) }}",
  1668.         "is_helper_shading_end": "{{ is_status_helper_enabled and (helper_state_json | regex_search('shading')) and (helper_state_json.shading.q | default(false) | bool) }}",
  1669.         "is_helper_vent_partial": "{{ is_status_helper_enabled and (helper_state_json | regex_search('vpart')) and (helper_state_json.vpart.a | default(false) | bool) }}",
  1670.         "is_helper_vent_full": "{{ is_status_helper_enabled and (helper_state_json | regex_search('vfull')) and (helper_state_json.vfull.a | default(false) | bool) }}",
  1671.         "is_helper_manual": "{{ is_status_helper_enabled and (helper_state_json | regex_search('manual')) and (helper_state_json.manual.a | default(false) | bool) }}",
  1672.         "ts_helper_open": "{{ helper_state_json.open.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('open'))) else 0 }}",
  1673.         "ts_helper_closed": "{{ helper_state_json.close.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('close'))) else 0 }}",
  1674.         "ts_helper_shaded": "{{ helper_state_json.shading.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('shading'))) else 0 }}",
  1675.         "ts_helper_vent_partial": "{{ helper_state_json.vpart.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('vpart'))) else 0 }}",
  1676.         "ts_helper_vent_full": "{{ helper_state_json.vfull.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('vfull'))) else 0 }}",
  1677.         "ts_helper_manual": "{{ helper_state_json.manual.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('manual'))) else 0 }}",
  1678.         "in_open_position": "{% set min = open_position - position_tolerance %} {% set max = open_position + position_tolerance %} {{\n  (current_position >= min and current_position <= max)\n  and (\n    (not is_cover_tilt_enabled_and_possible)\n    or (is_cover_tilt_enabled_and_possible and current_tilt_position == open_tilt_position)\n  )\n}}",
  1679.         "in_close_position": "{% set min = close_position - position_tolerance %} {% set max = close_position + position_tolerance %} {{\n  (current_position >= min and current_position <= max)\n  and (\n    (not is_cover_tilt_enabled_and_possible)\n    or (is_cover_tilt_enabled_and_possible and current_tilt_position == close_tilt_position)\n  )\n}}",
  1680.         "in_shading_position": "{% set min = shading_position - position_tolerance %} {% set max = shading_position + position_tolerance %} {{\n  is_shading_enabled\n  and (current_position >= min and current_position <= max)\n  and (\n    (not is_cover_tilt_enabled_and_possible)\n    or (current_tilt_position == shading_tilt_position)\n  )\n}}",
  1681.         "in_ventilate_position": "{% set min = ventilate_position - position_tolerance %} {% set max = ventilate_position + position_tolerance %} {{\n  is_ventilation_enabled\n  and (current_position >= min and current_position <= max)\n  and (\n    (not is_cover_tilt_enabled_and_possible)\n    or (current_tilt_position ==  ventilate_tilt_position)\n  )\n}}",
  1682.         "individual_config": [],
  1683.         "prevent_higher_position_closing": "{{ 'prevent_higher_position_closing' in individual_config }}",
  1684.         "prevent_lowering_when_closing_if_shaded": "{{ 'prevent_lowering_when_closing_if_shaded' in individual_config }}",
  1685.         "prevent_forecast_service": "{{ 'weather_attributes' in shading_forecast_type }}",
  1686.         "prevent_shading_end_if_closed": "{{ 'prevent_shading_end_if_closed' in individual_config }}",
  1687.         "prevent_opening_after_shading_end": "{{ 'prevent_opening_after_shading_end' in individual_config }}",
  1688.         "prevent_opening_after_ventilation_end": "{{ 'prevent_opening_after_ventilation_end' in individual_config }}",
  1689.         "prevent_default_cover_actions": "{{ 'prevent_default_cover_actions' in individual_config }}",
  1690.         "prevent_shading_multiple_times": "{{ 'prevent_shading_multiple_times' in individual_config }}",
  1691.         "prevent_opening_multiple_times": "{{ 'prevent_opening_multiple_times' in individual_config }}",
  1692.         "prevent_closing_multiple_times": "{{ 'prevent_closing_multiple_times' in individual_config }}",
  1693.         "resident_config": [],
  1694.         "resident_opening_enabled": "{{ 'resident_opening_enabled' in resident_config }}",
  1695.         "resident_closing_enabled": "{{ 'resident_closing_enabled' in resident_config }}",
  1696.         "resident_allow_shading": "{{ 'resident_allow_shading' in resident_config }}",
  1697.         "resident_allow_opening": "{{ 'resident_allow_opening' in resident_config }}",
  1698.         "resident_allow_ventilation": "{{ 'resident_allow_ventilation' in resident_config }}",
  1699.         "ignore_after_manual_config": [],
  1700.         "override_opening_after_manual": "{{ 'ignore_opening_after_manual' in ignore_after_manual_config }}",
  1701.         "override_closing_after_manual": "{{ 'ignore_closing_after_manual' in ignore_after_manual_config }}",
  1702.         "override_ventilation_after_manual": "{{ 'ignore_ventilation_after_manual' in ignore_after_manual_config }}",
  1703.         "override_shading_after_manual": "{{ 'ignore_shading_after_manual' in ignore_after_manual_config }}",
  1704.         "auto_ventilate_options": [],
  1705.         "ventilation_delay_enabled": "{{ 'ventilation_delay_enabled' in auto_ventilate_options }}",
  1706.         "ventilation_if_lower_enabled": "{{ 'ventilation_if_lower_enabled' in auto_ventilate_options }}",
  1707.         "ventilation_after_shading_end": "{{ 'ventilation_after_shading_end' in auto_ventilate_options }}",
  1708.         "check_config": false,
  1709.         "check_config_debuglevel": "info",
  1710.         "check_status_helper_length": "{{ state_attr(cover_status_helper, 'max') if is_status_helper_enabled else None }}"
  1711.       },
  1712.       "mode": "single",
  1713.       "max_exceeded": "silent",
  1714.       "triggers": [
  1715.         {
  1716.           "platform": "template",
  1717.           "value_template": "{% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set time_compare = time_up_early_non_workday if is_today_off else time_up_early %} {{ now() >= today_at(time_compare) }}",
  1718.           "enabled": "{{ is_time_field_enabled }}",
  1719.           "id": "t_open_1"
  1720.         },
  1721.         {
  1722.           "platform": "template",
  1723.           "value_template": "{% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set early = time_up_early_non_workday if is_today_off else time_up_early %} {% set late = time_up_late_non_workday if is_today_off else time_up_late %} {{ early != late and now() >= today_at(late) }}",
  1724.           "enabled": "{{ is_time_field_enabled }}",
  1725.           "id": "t_open_2"
  1726.         },
  1727.         {
  1728.           "platform": "template",
  1729.           "value_template": "{{ states(time_schedule_helper) in ['true', 'on'] }}",
  1730.           "enabled": "{{ is_schedule_helper_enabled and time_schedule_helper != [] }}",
  1731.           "id": "t_open_3"
  1732.         },
  1733.         {
  1734.           "platform": "template",
  1735.           "value_template": "{{ states(default_brightness_sensor) | float(default=brightness_up) > brightness_up }}",
  1736.           "for": {
  1737.             "seconds": 30
  1738.           },
  1739.           "enabled": "{{ is_brightness_enabled and default_brightness_sensor != [] }}",
  1740.           "id": "t_open_4"
  1741.         },
  1742.         {
  1743.           "platform": "template",
  1744.           "value_template": "{{ state_attr(default_sun_sensor, 'elevation') | float(default=sun_elevation_up) > sun_elevation_up }}",
  1745.           "for": {
  1746.             "seconds": 30
  1747.           },
  1748.           "enabled": "{{ is_sun_elevation_enabled and default_sun_sensor != [] }}",
  1749.           "id": "t_open_5"
  1750.         },
  1751.         {
  1752.           "platform": "state",
  1753.           "entity_id": [],
  1754.           "from": "on",
  1755.           "to": "off",
  1756.           "id": "t_open_6"
  1757.         },
  1758.         {
  1759.           "platform": "state",
  1760.           "entity_id": [],
  1761.           "from": "off",
  1762.           "to": "on",
  1763.           "id": "t_force_open"
  1764.         },
  1765.         {
  1766.           "platform": "template",
  1767.           "value_template": "{% set is_tomorrow_off = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') %} {% set is_tomorrow_on = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') %} {% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set time_compare =\n  time_down_early_non_workday if is_tomorrow_off else\n  time_down_early if is_tomorrow_on else\n  time_down_early_non_workday if is_today_off else\n  time_down_early %}\n{{ now() >= today_at(time_compare) }}",
  1768.           "enabled": "{{ is_time_field_enabled }}",
  1769.           "id": "t_close_1"
  1770.         },
  1771.         {
  1772.           "platform": "template",
  1773.           "value_template": "{% set is_tomorrow_off = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') %} {% set is_tomorrow_on = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') %} {% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set time_compare =\n  time_down_late_non_workday if is_tomorrow_off else\n  time_down_late if is_tomorrow_on else\n  time_down_late_non_workday if is_today_off else\n  time_down_late %}\n{{ (time_down_early_non_workday != time_compare and time_down_early != time_compare) and now() >= today_at(time_compare) }}",
  1774.           "enabled": "{{ is_time_field_enabled }}",
  1775.           "id": "t_close_2"
  1776.         },
  1777.         {
  1778.           "platform": "template",
  1779.           "value_template": "{{ states(time_schedule_helper) in ['false', 'off'] }}",
  1780.           "enabled": "{{ is_schedule_helper_enabled and time_schedule_helper != [] }}",
  1781.           "id": "t_close_3"
  1782.         },
  1783.         {
  1784.           "platform": "template",
  1785.           "value_template": "{{ states(default_brightness_sensor) | float(default=brightness_down) < brightness_down }}",
  1786.           "for": {
  1787.             "seconds": 30
  1788.           },
  1789.           "enabled": "{{ is_brightness_enabled and default_brightness_sensor != [] }}",
  1790.           "id": "t_close_4"
  1791.         },
  1792.         {
  1793.           "platform": "template",
  1794.           "value_template": "{{ state_attr(default_sun_sensor, 'elevation') | float(default=sun_elevation_down) < sun_elevation_down }}",
  1795.           "for": {
  1796.             "seconds": 30
  1797.           },
  1798.           "enabled": "{{ is_sun_elevation_enabled and default_sun_sensor != [] }}",
  1799.           "id": "t_close_5"
  1800.         },
  1801.         {
  1802.           "platform": "state",
  1803.           "entity_id": [],
  1804.           "from": "off",
  1805.           "to": "on",
  1806.           "id": "t_close_6"
  1807.         },
  1808.         {
  1809.           "platform": "state",
  1810.           "entity_id": [],
  1811.           "from": "off",
  1812.           "to": "on",
  1813.           "id": "t_force_close"
  1814.         },
  1815.         {
  1816.           "platform": "template",
  1817.           "value_template": "{{ states(contact_window_tilted) in ['true', 'on'] }}",
  1818.           "enabled": "{{ is_ventilation_enabled and contact_window_tilted != [] }}",
  1819.           "id": "t_contact_tilted_on",
  1820.           "for": {
  1821.             "seconds": 0
  1822.           }
  1823.         },
  1824.         {
  1825.           "platform": "template",
  1826.           "value_template": "{{ states(contact_window_tilted) in ['false', 'off'] }}",
  1827.           "enabled": "{{ is_ventilation_enabled and contact_window_tilted != [] }}",
  1828.           "id": "t_contact_tilted_off",
  1829.           "for": {
  1830.             "seconds": 0
  1831.           }
  1832.         },
  1833.         {
  1834.           "platform": "template",
  1835.           "value_template": "{{ states(contact_window_opened) in ['true', 'on'] }}",
  1836.           "enabled": "{{ is_ventilation_enabled and contact_window_opened != [] }}",
  1837.           "id": "t_contact_opened_on",
  1838.           "for": {
  1839.             "seconds": 0
  1840.           }
  1841.         },
  1842.         {
  1843.           "platform": "template",
  1844.           "value_template": "{{ states(contact_window_opened) in ['false', 'off'] }}",
  1845.           "enabled": "{{ is_ventilation_enabled and contact_window_opened != [] }}",
  1846.           "id": "t_contact_opened_off",
  1847.           "for": {
  1848.             "seconds": 0
  1849.           }
  1850.         },
  1851.         {
  1852.           "platform": "state",
  1853.           "entity_id": [],
  1854.           "from": "off",
  1855.           "to": "on",
  1856.           "id": "t_force_vent"
  1857.         },
  1858.         {
  1859.           "platform": "template",
  1860.           "value_template": "{{\n  state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_start) > shading_azimuth_start and\n  state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_end) < shading_azimuth_end and\n  state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_min) > shading_elevation_min and\n  state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_max) < shading_elevation_max\n}}",
  1861.           "enabled": "{{ is_shading_enabled and default_sun_sensor != [] }}",
  1862.           "id": "t_shading_start_pending_1"
  1863.         },
  1864.         {
  1865.           "platform": "template",
  1866.           "value_template": "{{ states(shading_brightness_sensor) | float(default=shading_sun_brightness_start) > shading_sun_brightness_start }}",
  1867.           "enabled": "{{ is_shading_enabled and shading_brightness_sensor != [] }}",
  1868.           "id": "t_shading_start_pending_2"
  1869.         },
  1870.         {
  1871.           "platform": "template",
  1872.           "value_template": "{{ states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) > shading_min_temperatur1 }}",
  1873.           "enabled": "{{ is_shading_enabled and shading_temperatur_sensor1 != [] }}",
  1874.           "id": "t_shading_start_pending_3"
  1875.         },
  1876.         {
  1877.           "platform": "template",
  1878.           "value_template": "{{ states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) > shading_min_temperatur2 }}",
  1879.           "enabled": "{{ is_shading_enabled and shading_temperatur_sensor2 != [] }}",
  1880.           "id": "t_shading_start_pending_4"
  1881.         },
  1882.         {
  1883.           "platform": "template",
  1884.           "value_template": "{{ states(shading_forecast_sensor) in shading_weather_conditions }}",
  1885.           "enabled": "{{ is_shading_enabled and shading_forecast_sensor != [] }}",
  1886.           "id": "t_shading_start_pending_5"
  1887.         },
  1888.         {
  1889.           "platform": "template",
  1890.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none', []] and\n  states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") and\n  states(cover_status_helper)|from_json|regex_search('shading') and\n  (states(cover_status_helper)|from_json).shading.p is defined and\n  (states(cover_status_helper)|from_json).shading.p > 0 and\n  now() >= ( (states(cover_status_helper)|from_json).shading.p) | as_datetime | as_local\n}}",
  1891.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] }}",
  1892.           "id": "t_shading_start_execution"
  1893.         },
  1894.         {
  1895.           "platform": "state",
  1896.           "entity_id": [],
  1897.           "from": "off",
  1898.           "to": "on",
  1899.           "id": "t_force_shading_start"
  1900.         },
  1901.         {
  1902.           "platform": "template",
  1903.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  state_attr(default_sun_sensor, 'elevation') < shading_tilt_elevation_1\n}}",
  1904.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1905.           "id": "t_shading_tilt_1"
  1906.         },
  1907.         {
  1908.           "platform": "template",
  1909.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  state_attr(default_sun_sensor, 'elevation') < shading_tilt_elevation_2 and\n  state_attr(default_sun_sensor, 'elevation') >= shading_tilt_elevation_1\n}}",
  1910.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1911.           "id": "t_shading_tilt_2"
  1912.         },
  1913.         {
  1914.           "platform": "template",
  1915.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  state_attr(default_sun_sensor, 'elevation') < shading_tilt_elevation_3 and\n  state_attr(default_sun_sensor, 'elevation') >= shading_tilt_elevation_2\n}}",
  1916.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1917.           "id": "t_shading_tilt_3"
  1918.         },
  1919.         {
  1920.           "platform": "template",
  1921.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  state_attr(default_sun_sensor, 'elevation') >= shading_tilt_elevation_3\n}}",
  1922.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1923.           "id": "t_shading_tilt_4"
  1924.         },
  1925.         {
  1926.           "platform": "template",
  1927.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"p\"\\s*:\\s*0') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"q\"\\s*:\\s*0') and\n  states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) < (shading_min_temperatur1 - shading_temperature_hysteresis1)\n}}",
  1928.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_temperatur_sensor1 != [] }}",
  1929.           "id": "t_shading_end_pending_1"
  1930.         },
  1931.         {
  1932.           "platform": "template",
  1933.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"p\"\\s*:\\s*0') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"q\"\\s*:\\s*0') and\n  states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) < (shading_min_temperatur2 - shading_temperature_hysteresis2)\n}}",
  1934.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_temperatur_sensor2 != [] }}",
  1935.           "id": "t_shading_end_pending_2"
  1936.         },
  1937.         {
  1938.           "platform": "template",
  1939.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"p\"\\s*:\\s*0') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"q\"\\s*:\\s*0') and\n  states(shading_brightness_sensor) | float(default=shading_sun_brightness_end) < shading_sun_brightness_end\n}}",
  1940.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_brightness_sensor != [] }}",
  1941.           "id": "t_shading_end_pending_3"
  1942.         },
  1943.         {
  1944.           "platform": "template",
  1945.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"p\"\\s*:\\s*0') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"q\"\\s*:\\s*0') and\n  states(shading_forecast_sensor) not in shading_weather_conditions\n}}",
  1946.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_weather_conditions != [] and shading_forecast_sensor != [] }}",
  1947.           "id": "t_shading_end_pending_4"
  1948.         },
  1949.         {
  1950.           "platform": "template",
  1951.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none'] and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"p\"\\s*:\\s*0') and\n  states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"q\"\\s*:\\s*0') and\n  (\n    (state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_end) > shading_azimuth_end) or\n    (state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_max) > shading_elevation_max) or\n    (state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_min) < shading_elevation_min)\n  )\n}}",
  1952.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] and default_sun_sensor != [] }}",
  1953.           "id": "t_shading_end_pending_5"
  1954.         },
  1955.         {
  1956.           "platform": "template",
  1957.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none', []] and\n  states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") and\n  states(cover_status_helper)|from_json|regex_search('shading') and\n  (states(cover_status_helper)|from_json).shading.q is defined and\n  (states(cover_status_helper)|from_json).shading.q > 0 and\n  now() >= ( (states(cover_status_helper)|from_json).shading.q) | as_datetime | as_local\n}}",
  1958.           "enabled": "{{ is_shading_enabled and cover_status_helper != [] }}",
  1959.           "id": "t_shading_end_execution"
  1960.         },
  1961.         {
  1962.           "platform": "template",
  1963.           "value_template": "{{ now() >= today_at('23:55:00') }}",
  1964.           "id": "t_shading_reset",
  1965.           "enabled": "{{ is_shading_enabled }}"
  1966.         },
  1967.         {
  1968.           "platform": "state",
  1969.           "entity_id": "cover.dg_rl_ank",
  1970.           "attribute": "current_position",
  1971.           "id": "t_manual_1",
  1972.           "for": "00:01:00"
  1973.         },
  1974.         {
  1975.           "platform": "template",
  1976.           "value_template": "{{ now() >= today_at(reset_override_time) }}",
  1977.           "enabled": "{{ is_reset_fixed_time }}",
  1978.           "id": "t_manual_2",
  1979.           "for": "00:00:02"
  1980.         },
  1981.         {
  1982.           "platform": "template",
  1983.           "value_template": "{{\n  states(cover_status_helper) not in ['', 'unknown', 'unavailable', 'none', []] and\n  states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") and\n  states(cover_status_helper)|from_json|regex_search('manual') and\n  (states(cover_status_helper)|from_json).manual.t is defined and\n  (states(cover_status_helper)|from_json).manual.a is defined and\n  (states(cover_status_helper)|from_json).manual.a | bool is true and\n   now() >= ( (states(cover_status_helper)|from_json).manual.t + 60 * reset_override_timeout) | as_datetime | as_local\n }}",
  1984.           "enabled": "{{ is_reset_timeout and cover_status_helper != [] }}",
  1985.           "id": "t_manual_3",
  1986.           "for": "00:00:02"
  1987.         },
  1988.         {
  1989.           "platform": "state",
  1990.           "entity_id": "cover.dg_rl_ank",
  1991.           "attribute": "current_tilt_position",
  1992.           "id": "t_manual_4",
  1993.           "for": "00:01:00"
  1994.         }
  1995.       ],
  1996.       "conditions": [
  1997.         {
  1998.           "condition": [
  1999.             {
  2000.               "condition": "state",
  2001.               "entity_id": "input_boolean.rollo_automatik",
  2002.               "state": "on"
  2003.             }
  2004.           ]
  2005.         },
  2006.         {
  2007.           "or": [
  2008.             "{{ trigger.to_state is not defined }}",
  2009.             "{{ trigger.to_state is defined and trigger.to_state.state not in ['unavailable', 'unknown','none', 'query failed'] }}"
  2010.           ]
  2011.         }
  2012.       ],
  2013.       "actions": [
  2014.         {
  2015.           "variables": {
  2016.             "cover_move_action": {
  2017.               "sequence": [
  2018.                 {
  2019.                   "repeat": {
  2020.                     "for_each": "{{ blind_entities | list }}",
  2021.                     "sequence": [
  2022.                       {
  2023.                         "choose": [
  2024.                           {
  2025.                             "conditions": [
  2026.                               "{{ not prevent_default_cover_actions }}",
  2027.                               "{{ target_position | default(101)  == 0 }}"
  2028.                             ],
  2029.                             "sequence": [
  2030.                               {
  2031.                                 "alias": "Close Cover",
  2032.                                 "service": "cover.close_cover",
  2033.                                 "target": {
  2034.                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2035.                                 }
  2036.                               }
  2037.                             ]
  2038.                           },
  2039.                           {
  2040.                             "conditions": [
  2041.                               "{{ not prevent_default_cover_actions }}",
  2042.                               "{{ target_position | default(101) == 100 }}"
  2043.                             ],
  2044.                             "sequence": [
  2045.                               {
  2046.                                 "alias": "Open Cover",
  2047.                                 "service": "cover.open_cover",
  2048.                                 "target": {
  2049.                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2050.                                 }
  2051.                               }
  2052.                             ]
  2053.                           },
  2054.                           {
  2055.                             "conditions": [
  2056.                               "{{ not prevent_default_cover_actions }}",
  2057.                               "{{ target_position | default(101) not in [0, 100] }}"
  2058.                             ],
  2059.                             "sequence": [
  2060.                               {
  2061.                                 "alias": "Moving the cover to target position",
  2062.                                 "service": "cover.set_cover_position",
  2063.                                 "data": {
  2064.                                   "position": "{{ target_position | default(101) }}"
  2065.                                 },
  2066.                                 "target": {
  2067.                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2068.                                 }
  2069.                               }
  2070.                             ]
  2071.                           }
  2072.                         ]
  2073.                       },
  2074.                       {
  2075.                         "delay": {
  2076.                           "seconds": "{{ (range(1, 3) | random | int) }}"
  2077.                         }
  2078.                       }
  2079.                     ]
  2080.                   }
  2081.                 }
  2082.               ]
  2083.             },
  2084.             "tilt_move_action": {
  2085.               "sequence": [
  2086.                 {
  2087.                   "if": [
  2088.                     "{{ not prevent_default_cover_actions }}",
  2089.                     "{{ is_cover_tilt_enabled_and_possible }}",
  2090.                     "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  2091.                   ],
  2092.                   "then": [
  2093.                     {
  2094.                       "repeat": {
  2095.                         "for_each": "{{ blind_entities | list }}",
  2096.                         "sequence": [
  2097.                           {
  2098.                             "if": [
  2099.                               "{{ tilt_first | default(false) }}"
  2100.                             ],
  2101.                             "then": [
  2102.                               {
  2103.                                 "alias": "Reset Tilt",
  2104.                                 "service": "cover.set_cover_tilt_position",
  2105.                                 "data": {
  2106.                                   "tilt_position": 0
  2107.                                 },
  2108.                                 "target": {
  2109.                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2110.                                 }
  2111.                               },
  2112.                               {
  2113.                                 "delay": {
  2114.                                   "seconds": 0
  2115.                                 }
  2116.                               }
  2117.                             ]
  2118.                           },
  2119.                           {
  2120.                             "alias": "Tilt Delay",
  2121.                             "delay": {
  2122.                               "seconds": 0
  2123.                             }
  2124.                           },
  2125.                           {
  2126.                             "alias": "Moving the cover to tilt position",
  2127.                             "service": "cover.set_cover_tilt_position",
  2128.                             "data": {
  2129.                               "tilt_position": "{{ target_tilt_position | default(101) }}"
  2130.                             },
  2131.                             "target": {
  2132.                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2133.                             }
  2134.                           },
  2135.                           {
  2136.                             "delay": {
  2137.                               "seconds": "{{ (range(1, 3) | random | int) }}"
  2138.                             }
  2139.                           }
  2140.                         ]
  2141.                       }
  2142.                     }
  2143.                   ]
  2144.                 }
  2145.               ]
  2146.             },
  2147.             "helper_update": {
  2148.               "if": [
  2149.                 "{{ is_status_helper_enabled }}"
  2150.               ],
  2151.               "then": [
  2152.                 {
  2153.                   "alias": "Update cover status helper",
  2154.                   "service": "input_text.set_value",
  2155.                   "data": {
  2156.                     "entity_id": "input_text.cover_status_helper_ankleide",
  2157.                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  2158.                   }
  2159.                 }
  2160.               ]
  2161.             }
  2162.           }
  2163.         },
  2164.         {
  2165.           "if": [
  2166.             "{{ is_shading_enabled }}",
  2167.             "{{ not prevent_forecast_service }}",
  2168.             "{{ (shading_forecast_sensor != [] ) }}",
  2169.             "{{ states(shading_forecast_sensor) not in ['unavailable', 'unknown', 'query failed']  }}",
  2170.             "{{ trigger.id is defined }}",
  2171.             "{{ trigger.id | regex_match('^(t_shading_start|t_open_1|t_open_3)') }}",
  2172.             "{{ shading_forecast_sensor.startswith('weather.') }}"
  2173.           ],
  2174.           "then": [
  2175.             {
  2176.               "action": "weather.get_forecasts",
  2177.               "target": {
  2178.                 "entity_id": []
  2179.               },
  2180.               "data": {
  2181.                 "type": "weather_attributes"
  2182.               },
  2183.               "response_variable": "weather_forecast"
  2184.             }
  2185.           ]
  2186.         },
  2187.         {
  2188.           "if": [
  2189.             "{{ 'cover_helper_enabled' in cover_status_options }}",
  2190.             "{{ cover_status_helper != [] }}",
  2191.             {
  2192.               "or": [
  2193.                 "{{ states(cover_status_helper) in ['', 'unknown', 'unavailable', 'none'] }}",
  2194.                 "{{ not states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") }}"
  2195.               ]
  2196.             }
  2197.           ],
  2198.           "then": [
  2199.             {
  2200.               "action": "input_text.set_value",
  2201.               "data": {
  2202.                 "entity_id": "input_text.cover_status_helper_ankleide",
  2203.                 "value": "{{ helper_state_json | to_json }}"
  2204.               }
  2205.             }
  2206.           ]
  2207.         },
  2208.         {
  2209.           "if": [
  2210.             "{{ is_status_helper_enabled }}",
  2211.             "{{ helper_state_json.v != 5 }}"
  2212.           ],
  2213.           "then": [
  2214.             {
  2215.               "variables": {
  2216.                 "update_values": {
  2217.                   "open": {
  2218.                     "a": "{{ is_helper_open|int }}",
  2219.                     "t": "{{ ts_helper_open }}"
  2220.                   },
  2221.                   "close": {
  2222.                     "a": "{{ is_helper_closed|int }}",
  2223.                     "t": "{{ ts_helper_closed }}"
  2224.                   },
  2225.                   "shading": {
  2226.                     "a": "{{ is_helper_shaded|int }}",
  2227.                     "t": "{{ ts_helper_shaded }}",
  2228.                     "p": 0,
  2229.                     "q": 0
  2230.                   },
  2231.                   "vpart": {
  2232.                     "a": "{{ is_helper_vent_partial|int }}",
  2233.                     "t": "{{ ts_helper_vent_partial }}"
  2234.                   },
  2235.                   "vfull": {
  2236.                     "a": "{{ is_helper_vent_full|int }}",
  2237.                     "t": "{{ ts_helper_vent_full }}"
  2238.                   },
  2239.                   "manual": {
  2240.                     "a": "{{ is_helper_manual|int }}",
  2241.                     "t": "{{ ts_helper_manual }}"
  2242.                   },
  2243.                   "v": 5,
  2244.                   "t": "{{ helper_state_json.t | round(0) }}"
  2245.                 }
  2246.               }
  2247.             },
  2248.             {
  2249.               "if": [
  2250.                 "{{ is_status_helper_enabled }}"
  2251.               ],
  2252.               "then": [
  2253.                 {
  2254.                   "alias": "Update cover status helper",
  2255.                   "data": {
  2256.                     "entity_id": "input_text.cover_status_helper_ankleide",
  2257.                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  2258.                   },
  2259.                   "action": "input_text.set_value"
  2260.                 }
  2261.               ]
  2262.             }
  2263.           ]
  2264.         },
  2265.         {
  2266.           "choose": [
  2267.             {
  2268.               "alias": "Check for opening",
  2269.               "conditions": [
  2270.                 "{{ is_up_enabled }}",
  2271.                 "{{ trigger.id is defined }}",
  2272.                 "{{ trigger.id | regex_match('^(t_open)') }}",
  2273.                 {
  2274.                   "condition": []
  2275.                 },
  2276.                 {
  2277.                   "and": [
  2278.                     "{{ auto_down_force_disabled }}",
  2279.                     "{{ auto_ventilate_force_disabled }}",
  2280.                     "{{ auto_shading_start_force_disabled }}"
  2281.                   ]
  2282.                 },
  2283.                 "{{ not (is_status_helper_enabled and is_helper_manual and override_opening_after_manual) }}",
  2284.                 {
  2285.                   "or": [
  2286.                     "{{ not is_status_helper_enabled }}",
  2287.                     "{{ not prevent_opening_multiple_times }}",
  2288.                     "{{ is_status_helper_enabled and prevent_opening_multiple_times and (now().day != ts_helper_open|timestamp_custom('%-d')|int) }}"
  2289.                   ]
  2290.                 },
  2291.                 {
  2292.                   "or": [
  2293.                     "{{ trigger.id != 't_open_6' }}",
  2294.                     "{{ trigger.id == 't_open_6' and resident_opening_enabled }}"
  2295.                   ]
  2296.                 },
  2297.                 {
  2298.                   "or": [
  2299.                     "{{ resident_sensor == [] }}",
  2300.                     "{{ states(resident_sensor) in ['false', 'off'] }}",
  2301.                     {
  2302.                       "and": [
  2303.                         "{{ resident_allow_opening }}",
  2304.                         "{{ states(resident_sensor) in ['true', 'on'] }}"
  2305.                       ]
  2306.                     }
  2307.                   ]
  2308.                 },
  2309.                 {
  2310.                   "or": [
  2311.                     {
  2312.                       "and": [
  2313.                         "{{ is_time_control_disabled }}"
  2314.                       ]
  2315.                     },
  2316.                     {
  2317.                       "and": [
  2318.                         "{{ is_time_field_enabled }}",
  2319.                         "{{ now() >= today_at(time_up_late_today) }}",
  2320.                         "{{ now() <= today_at(time_down_late_today) - timedelta(seconds = 5) }}"
  2321.                       ]
  2322.                     },
  2323.                     {
  2324.                       "and": [
  2325.                         "{{ is_schedule_helper_enabled }}",
  2326.                         "{{ time_schedule_helper != [] }}",
  2327.                         "{{ not is_brightness_enabled }}",
  2328.                         "{{ not is_sun_elevation_enabled }}",
  2329.                         "{{ is_state(time_schedule_helper, 'on') }}",
  2330.                         "{{ trigger.id in ['t_open_3', 't_open_6'] }}"
  2331.                       ]
  2332.                     },
  2333.                     {
  2334.                       "and": [
  2335.                         {
  2336.                           "or": [
  2337.                             {
  2338.                               "and": [
  2339.                                 "{{ is_time_control_disabled }}"
  2340.                               ]
  2341.                             },
  2342.                             {
  2343.                               "and": [
  2344.                                 "{{ is_time_field_enabled }}",
  2345.                                 "{{ now() >= today_at(time_up_early_today) }}",
  2346.                                 "{{ now() <= today_at(time_up_late_today) + timedelta(seconds = 5) }}"
  2347.                               ]
  2348.                             },
  2349.                             {
  2350.                               "and": [
  2351.                                 "{{ is_schedule_helper_enabled }}",
  2352.                                 "{{ time_schedule_helper != [] }}",
  2353.                                 "{{ is_state(time_schedule_helper, 'on') }}",
  2354.                                 "{{ now() >= today_at([time_up_early, time_up_early_non_workday] | min) - timedelta(seconds = 5) }}",
  2355.                                 "{{ now() <= today_at([time_up_late, time_up_late_non_workday] | max) + timedelta(seconds = 5) }}"
  2356.                               ]
  2357.                             }
  2358.                           ]
  2359.                         },
  2360.                         {
  2361.                           "or": [
  2362.                             {
  2363.                               "or": [
  2364.                                 "{{ is_brightness_enabled and default_brightness_sensor == [] }}",
  2365.                                 "{{ is_brightness_enabled and default_brightness_sensor != [] and (states(default_brightness_sensor) | float(default=brightness_up) > brightness_up) }}"
  2366.                               ]
  2367.                             },
  2368.                             {
  2369.                               "or": [
  2370.                                 "{{ is_sun_elevation_enabled and default_sun_sensor == [] }}",
  2371.                                 "{{ is_sun_elevation_enabled and default_sun_sensor != [] and (current_sun_elevation | float(default=sun_elevation_up) > sun_elevation_up) }}"
  2372.                               ]
  2373.                             }
  2374.                           ]
  2375.                         }
  2376.                       ]
  2377.                     }
  2378.                   ]
  2379.                 }
  2380.               ],
  2381.               "sequence": [
  2382.                 {
  2383.                   "delay": {
  2384.                     "seconds": "{{ range(drive_delay_fix|int(0), drive_delay_fix|int(0) + drive_delay_random|int(0) +1) | random }}"
  2385.                   }
  2386.                 },
  2387.                 {
  2388.                   "choose": [
  2389.                     {
  2390.                       "alias": "Shading detected. Move to shading position",
  2391.                       "conditions": [
  2392.                         "{{ is_status_helper_enabled }}",
  2393.                         "{{ is_helper_shaded }}",
  2394.                         "{{ not in_shading_position }}"
  2395.                       ],
  2396.                       "sequence": [
  2397.                         {
  2398.                           "choose": [],
  2399.                           "default": []
  2400.                         },
  2401.                         {
  2402.                           "variables": {
  2403.                             "target_position": 1,
  2404.                             "target_tilt_position": "{{ shading_tilt_position | int }}",
  2405.                             "update_values": {
  2406.                               "open": {
  2407.                                 "a": 1,
  2408.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  2409.                               },
  2410.                               "close": {
  2411.                                 "a": 0,
  2412.                                 "t": "{{ helper_state_json.close.t }}"
  2413.                               },
  2414.                               "shading": {
  2415.                                 "a": 1,
  2416.                                 "t": "{{ helper_state_json.shading.t }}",
  2417.                                 "p": 0,
  2418.                                 "q": 0
  2419.                               },
  2420.                               "vpart": {
  2421.                                 "a": 0,
  2422.                                 "t": "{{ helper_state_json.vpart.t }}"
  2423.                               },
  2424.                               "vfull": {
  2425.                                 "a": 0,
  2426.                                 "t": "{{ helper_state_json.vfull.t }}"
  2427.                               },
  2428.                               "manual": {
  2429.                                 "a": 0,
  2430.                                 "t": "{{ helper_state_json.manual.t }}"
  2431.                               },
  2432.                               "t": "{{ as_timestamp(now()) | round(0) }}"
  2433.                             }
  2434.                           }
  2435.                         },
  2436.                         {
  2437.                           "sequence": [
  2438.                             {
  2439.                               "repeat": {
  2440.                                 "for_each": "{{ blind_entities | list }}",
  2441.                                 "sequence": [
  2442.                                   {
  2443.                                     "choose": [
  2444.                                       {
  2445.                                         "conditions": [
  2446.                                           "{{ not prevent_default_cover_actions }}",
  2447.                                           "{{ target_position | default(101)  == 0 }}"
  2448.                                         ],
  2449.                                         "sequence": [
  2450.                                           {
  2451.                                             "alias": "Close Cover",
  2452.                                             "target": {
  2453.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2454.                                             },
  2455.                                             "action": "cover.close_cover"
  2456.                                           }
  2457.                                         ]
  2458.                                       },
  2459.                                       {
  2460.                                         "conditions": [
  2461.                                           "{{ not prevent_default_cover_actions }}",
  2462.                                           "{{ target_position | default(101) == 100 }}"
  2463.                                         ],
  2464.                                         "sequence": [
  2465.                                           {
  2466.                                             "alias": "Open Cover",
  2467.                                             "target": {
  2468.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2469.                                             },
  2470.                                             "action": "cover.open_cover"
  2471.                                           }
  2472.                                         ]
  2473.                                       },
  2474.                                       {
  2475.                                         "conditions": [
  2476.                                           "{{ not prevent_default_cover_actions }}",
  2477.                                           "{{ target_position | default(101) not in [0, 100] }}"
  2478.                                         ],
  2479.                                         "sequence": [
  2480.                                           {
  2481.                                             "alias": "Moving the cover to target position",
  2482.                                             "data": {
  2483.                                               "position": "{{ target_position | default(101) }}"
  2484.                                             },
  2485.                                             "target": {
  2486.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2487.                                             },
  2488.                                             "action": "cover.set_cover_position"
  2489.                                           }
  2490.                                         ]
  2491.                                       }
  2492.                                     ]
  2493.                                   },
  2494.                                   {
  2495.                                     "delay": {
  2496.                                       "seconds": "{{ (range(1, 3) | random | int) }}"
  2497.                                     }
  2498.                                   }
  2499.                                 ]
  2500.                               }
  2501.                             }
  2502.                           ]
  2503.                         },
  2504.                         {
  2505.                           "sequence": [
  2506.                             {
  2507.                               "if": [
  2508.                                 "{{ not prevent_default_cover_actions }}",
  2509.                                 "{{ is_cover_tilt_enabled_and_possible }}",
  2510.                                 "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  2511.                               ],
  2512.                               "then": [
  2513.                                 {
  2514.                                   "repeat": {
  2515.                                     "for_each": "{{ blind_entities | list }}",
  2516.                                     "sequence": [
  2517.                                       {
  2518.                                         "if": [
  2519.                                           "{{ tilt_first | default(false) }}"
  2520.                                         ],
  2521.                                         "then": [
  2522.                                           {
  2523.                                             "alias": "Reset Tilt",
  2524.                                             "data": {
  2525.                                               "tilt_position": 0
  2526.                                             },
  2527.                                             "target": {
  2528.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2529.                                             },
  2530.                                             "action": "cover.set_cover_tilt_position"
  2531.                                           },
  2532.                                           {
  2533.                                             "delay": {
  2534.                                               "seconds": 0
  2535.                                             }
  2536.                                           }
  2537.                                         ]
  2538.                                       },
  2539.                                       {
  2540.                                         "alias": "Tilt Delay",
  2541.                                         "delay": {
  2542.                                           "seconds": 0
  2543.                                         }
  2544.                                       },
  2545.                                       {
  2546.                                         "alias": "Moving the cover to tilt position",
  2547.                                         "data": {
  2548.                                           "tilt_position": "{{ target_tilt_position | default(101) }}"
  2549.                                         },
  2550.                                         "target": {
  2551.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2552.                                         },
  2553.                                         "action": "cover.set_cover_tilt_position"
  2554.                                       },
  2555.                                       {
  2556.                                         "delay": {
  2557.                                           "seconds": "{{ (range(1, 3) | random | int) }}"
  2558.                                         }
  2559.                                       }
  2560.                                     ]
  2561.                                   }
  2562.                                 }
  2563.                               ]
  2564.                             }
  2565.                           ]
  2566.                         },
  2567.                         {
  2568.                           "if": [
  2569.                             "{{ is_status_helper_enabled }}"
  2570.                           ],
  2571.                           "then": [
  2572.                             {
  2573.                               "alias": "Update cover status helper",
  2574.                               "data": {
  2575.                                 "entity_id": "input_text.cover_status_helper_ankleide",
  2576.                                 "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  2577.                               },
  2578.                               "action": "input_text.set_value"
  2579.                             }
  2580.                           ]
  2581.                         },
  2582.                         {
  2583.                           "choose": [],
  2584.                           "default": []
  2585.                         }
  2586.                       ]
  2587.                     },
  2588.                     {
  2589.                       "alias": "Normal opening of the cover",
  2590.                       "conditions": [
  2591.                         "{{ not in_shading_position }}",
  2592.                         {
  2593.                           "or": [
  2594.                             "{{ is_status_helper_enabled and not is_helper_open }}",
  2595.                             "{{ not in_open_position }}"
  2596.                           ]
  2597.                         }
  2598.                       ],
  2599.                       "sequence": [
  2600.                         {
  2601.                           "choose": [],
  2602.                           "default": []
  2603.                         },
  2604.                         {
  2605.                           "variables": {
  2606.                             "target_position": 100,
  2607.                             "target_tilt_position": "{{ open_tilt_position | int }}",
  2608.                             "update_values": {
  2609.                               "open": {
  2610.                                 "a": 1,
  2611.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  2612.                               },
  2613.                               "close": {
  2614.                                 "a": 0,
  2615.                                 "t": "{{ helper_state_json.close.t }}"
  2616.                               },
  2617.                               "shading": {
  2618.                                 "a": 0,
  2619.                                 "t": "{{ helper_state_json.shading.t }}",
  2620.                                 "p": 0,
  2621.                                 "q": 0
  2622.                               },
  2623.                               "vpart": {
  2624.                                 "a": 0,
  2625.                                 "t": "{{ helper_state_json.vpart.t }}"
  2626.                               },
  2627.                               "vfull": {
  2628.                                 "a": 0,
  2629.                                 "t": "{{ helper_state_json.vfull.t }}"
  2630.                               },
  2631.                               "manual": {
  2632.                                 "a": 0,
  2633.                                 "t": "{{ helper_state_json.manual.t }}"
  2634.                               },
  2635.                               "t": "{{ as_timestamp(now()) | round(0) }}"
  2636.                             }
  2637.                           }
  2638.                         },
  2639.                         {
  2640.                           "sequence": [
  2641.                             {
  2642.                               "repeat": {
  2643.                                 "for_each": "{{ blind_entities | list }}",
  2644.                                 "sequence": [
  2645.                                   {
  2646.                                     "choose": [
  2647.                                       {
  2648.                                         "conditions": [
  2649.                                           "{{ not prevent_default_cover_actions }}",
  2650.                                           "{{ target_position | default(101)  == 0 }}"
  2651.                                         ],
  2652.                                         "sequence": [
  2653.                                           {
  2654.                                             "alias": "Close Cover",
  2655.                                             "target": {
  2656.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2657.                                             },
  2658.                                             "action": "cover.close_cover"
  2659.                                           }
  2660.                                         ]
  2661.                                       },
  2662.                                       {
  2663.                                         "conditions": [
  2664.                                           "{{ not prevent_default_cover_actions }}",
  2665.                                           "{{ target_position | default(101) == 100 }}"
  2666.                                         ],
  2667.                                         "sequence": [
  2668.                                           {
  2669.                                             "alias": "Open Cover",
  2670.                                             "target": {
  2671.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2672.                                             },
  2673.                                             "action": "cover.open_cover"
  2674.                                           }
  2675.                                         ]
  2676.                                       },
  2677.                                       {
  2678.                                         "conditions": [
  2679.                                           "{{ not prevent_default_cover_actions }}",
  2680.                                           "{{ target_position | default(101) not in [0, 100] }}"
  2681.                                         ],
  2682.                                         "sequence": [
  2683.                                           {
  2684.                                             "alias": "Moving the cover to target position",
  2685.                                             "data": {
  2686.                                               "position": "{{ target_position | default(101) }}"
  2687.                                             },
  2688.                                             "target": {
  2689.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2690.                                             },
  2691.                                             "action": "cover.set_cover_position"
  2692.                                           }
  2693.                                         ]
  2694.                                       }
  2695.                                     ]
  2696.                                   },
  2697.                                   {
  2698.                                     "delay": {
  2699.                                       "seconds": "{{ (range(1, 3) | random | int) }}"
  2700.                                     }
  2701.                                   }
  2702.                                 ]
  2703.                               }
  2704.                             }
  2705.                           ]
  2706.                         },
  2707.                         {
  2708.                           "sequence": [
  2709.                             {
  2710.                               "if": [
  2711.                                 "{{ not prevent_default_cover_actions }}",
  2712.                                 "{{ is_cover_tilt_enabled_and_possible }}",
  2713.                                 "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  2714.                               ],
  2715.                               "then": [
  2716.                                 {
  2717.                                   "repeat": {
  2718.                                     "for_each": "{{ blind_entities | list }}",
  2719.                                     "sequence": [
  2720.                                       {
  2721.                                         "if": [
  2722.                                           "{{ tilt_first | default(false) }}"
  2723.                                         ],
  2724.                                         "then": [
  2725.                                           {
  2726.                                             "alias": "Reset Tilt",
  2727.                                             "data": {
  2728.                                               "tilt_position": 0
  2729.                                             },
  2730.                                             "target": {
  2731.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2732.                                             },
  2733.                                             "action": "cover.set_cover_tilt_position"
  2734.                                           },
  2735.                                           {
  2736.                                             "delay": {
  2737.                                               "seconds": 0
  2738.                                             }
  2739.                                           }
  2740.                                         ]
  2741.                                       },
  2742.                                       {
  2743.                                         "alias": "Tilt Delay",
  2744.                                         "delay": {
  2745.                                           "seconds": 0
  2746.                                         }
  2747.                                       },
  2748.                                       {
  2749.                                         "alias": "Moving the cover to tilt position",
  2750.                                         "data": {
  2751.                                           "tilt_position": "{{ target_tilt_position | default(101) }}"
  2752.                                         },
  2753.                                         "target": {
  2754.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2755.                                         },
  2756.                                         "action": "cover.set_cover_tilt_position"
  2757.                                       },
  2758.                                       {
  2759.                                         "delay": {
  2760.                                           "seconds": "{{ (range(1, 3) | random | int) }}"
  2761.                                         }
  2762.                                       }
  2763.                                     ]
  2764.                                   }
  2765.                                 }
  2766.                               ]
  2767.                             }
  2768.                           ]
  2769.                         },
  2770.                         {
  2771.                           "if": [
  2772.                             "{{ is_status_helper_enabled }}"
  2773.                           ],
  2774.                           "then": [
  2775.                             {
  2776.                               "alias": "Update cover status helper",
  2777.                               "data": {
  2778.                                 "entity_id": "input_text.cover_status_helper_ankleide",
  2779.                                 "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  2780.                               },
  2781.                               "action": "input_text.set_value"
  2782.                             }
  2783.                           ]
  2784.                         },
  2785.                         {
  2786.                           "choose": [],
  2787.                           "default": []
  2788.                         }
  2789.                       ]
  2790.                     }
  2791.                   ]
  2792.                 }
  2793.               ]
  2794.             },
  2795.             {
  2796.               "alias": "Check for closing cover",
  2797.               "conditions": [
  2798.                 "{{ is_down_enabled }}",
  2799.                 "{{ trigger.id is defined }}",
  2800.                 "{{ trigger.id | regex_match('^(t_close)') }}",
  2801.                 {
  2802.                   "condition": []
  2803.                 },
  2804.                 {
  2805.                   "and": [
  2806.                     "{{ auto_up_force_disabled }}",
  2807.                     "{{ auto_ventilate_force_disabled }}",
  2808.                     "{{ auto_shading_start_force_disabled }}"
  2809.                   ]
  2810.                 },
  2811.                 {
  2812.                   "or": [
  2813.                     "{{ is_status_helper_enabled and not is_helper_closed }}",
  2814.                     "{{ not in_close_position }}"
  2815.                   ]
  2816.                 },
  2817.                 "{{ not (is_status_helper_enabled and is_helper_manual and override_closing_after_manual) }}",
  2818.                 {
  2819.                   "or": [
  2820.                     "{{ not is_status_helper_enabled }}",
  2821.                     "{{ not prevent_closing_multiple_times }}",
  2822.                     "{{ is_status_helper_enabled and prevent_closing_multiple_times and (ts_helper_closed < today_at(time_down_early_today) | as_timestamp) }}"
  2823.                   ]
  2824.                 },
  2825.                 {
  2826.                   "or": [
  2827.                     {
  2828.                       "and": [
  2829.                         "{{ is_time_control_disabled }}"
  2830.                       ]
  2831.                     },
  2832.                     {
  2833.                       "and": [
  2834.                         "{{ is_time_field_enabled }}",
  2835.                         "{{ now() >= today_at(time_down_late_today) }}"
  2836.                       ]
  2837.                     },
  2838.                     {
  2839.                       "and": [
  2840.                         "{{ is_schedule_helper_enabled }}",
  2841.                         "{{ time_schedule_helper != [] }}",
  2842.                         "{{ is_state(time_schedule_helper, 'off') }}",
  2843.                         "{{ trigger.id == 't_close_3' }}"
  2844.                       ]
  2845.                     },
  2846.                     {
  2847.                       "and": [
  2848.                         {
  2849.                           "or": [
  2850.                             {
  2851.                               "and": [
  2852.                                 "{{ is_time_control_disabled }}"
  2853.                               ]
  2854.                             },
  2855.                             {
  2856.                               "and": [
  2857.                                 "{{ is_time_field_enabled }}",
  2858.                                 "{{ now() >= today_at(time_down_early_today) }}",
  2859.                                 "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
  2860.                               ]
  2861.                             },
  2862.                             {
  2863.                               "and": [
  2864.                                 "{{ is_schedule_helper_enabled }}",
  2865.                                 "{{ time_schedule_helper != [] }}",
  2866.                                 "{{ is_state(time_schedule_helper, 'on') }}",
  2867.                                 "{{ now() >= today_at([time_down_early, time_down_early_non_workday] | min) - timedelta(seconds = 5) }}",
  2868.                                 "{{ now() <= today_at([time_down_late, time_down_late_non_workday] | max) + timedelta(seconds = 5) }}"
  2869.                               ]
  2870.                             }
  2871.                           ]
  2872.                         },
  2873.                         {
  2874.                           "or": [
  2875.                             {
  2876.                               "or": [
  2877.                                 "{{ is_brightness_enabled and default_brightness_sensor == [] }}",
  2878.                                 "{{ is_brightness_enabled and default_brightness_sensor != [] and (states(default_brightness_sensor) | float(default=brightness_down) < brightness_down) }}"
  2879.                               ]
  2880.                             },
  2881.                             {
  2882.                               "or": [
  2883.                                 "{{ is_sun_elevation_enabled and default_sun_sensor == [] }}",
  2884.                                 "{{ is_sun_elevation_enabled and default_sun_sensor != [] and (current_sun_elevation | float(default=sun_elevation_down) < sun_elevation_down) }}"
  2885.                               ]
  2886.                             }
  2887.                           ]
  2888.                         }
  2889.                       ]
  2890.                     },
  2891.                     {
  2892.                       "and": [
  2893.                         "{{ trigger.id == 't_close_6' }}",
  2894.                         "{{ resident_sensor != [] }}",
  2895.                         "{{ states(resident_sensor) in ['true', 'on'] }}",
  2896.                         "{{ resident_closing_enabled }}"
  2897.                       ]
  2898.                     }
  2899.                   ]
  2900.                 }
  2901.               ],
  2902.               "sequence": [
  2903.                 {
  2904.                   "choose": [
  2905.                     {
  2906.                       "alias": "Lockout protection when closing",
  2907.                       "conditions": [
  2908.                         "{{ is_ventilation_enabled }}",
  2909.                         "{{ is_status_helper_enabled }}",
  2910.                         {
  2911.                           "or": [
  2912.                             {
  2913.                               "and": [
  2914.                                 "{{ contact_window_opened != [] }}",
  2915.                                 "{{ states(contact_window_opened) in ['true', 'on'] }}"
  2916.                               ]
  2917.                             },
  2918.                             {
  2919.                               "and": [
  2920.                                 "{{ lockout_tilted_when_closing }}",
  2921.                                 "{{ contact_window_tilted != [] }}",
  2922.                                 "{{ states(contact_window_tilted) in ['true', 'on'] }}"
  2923.                               ]
  2924.                             }
  2925.                           ]
  2926.                         }
  2927.                       ],
  2928.                       "sequence": [
  2929.                         {
  2930.                           "variables": {
  2931.                             "update_values": {
  2932.                               "open": {
  2933.                                 "a": 0,
  2934.                                 "t": "{{ helper_state_json.open.t }}"
  2935.                               },
  2936.                               "close": {
  2937.                                 "a": 1,
  2938.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  2939.                               },
  2940.                               "shading": {
  2941.                                 "a": 0,
  2942.                                 "t": "{{ helper_state_json.shading.t }}",
  2943.                                 "p": 0,
  2944.                                 "q": 0
  2945.                               },
  2946.                               "vpart": {
  2947.                                 "a": 0,
  2948.                                 "t": "{{ helper_state_json.vpart.t }}"
  2949.                               },
  2950.                               "vfull": {
  2951.                                 "a": 1,
  2952.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  2953.                               },
  2954.                               "manual": {
  2955.                                 "a": 0,
  2956.                                 "t": "{{ helper_state_json.manual.t }}"
  2957.                               },
  2958.                               "t": "{{ as_timestamp(now()) | round(0) }}"
  2959.                             }
  2960.                           }
  2961.                         },
  2962.                         {
  2963.                           "if": [
  2964.                             "{{ is_status_helper_enabled }}"
  2965.                           ],
  2966.                           "then": [
  2967.                             {
  2968.                               "alias": "Update cover status helper",
  2969.                               "data": {
  2970.                                 "entity_id": "input_text.cover_status_helper_ankleide",
  2971.                                 "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  2972.                               },
  2973.                               "action": "input_text.set_value"
  2974.                             }
  2975.                           ]
  2976.                         }
  2977.                       ]
  2978.                     },
  2979.                     {
  2980.                       "alias": "Window tilted. No lockout. Move to ventilation position instead of closing",
  2981.                       "conditions": [
  2982.                         "{{ is_ventilation_enabled }}",
  2983.                         "{{ is_status_helper_enabled }}",
  2984.                         "{{ contact_window_tilted != [] }}",
  2985.                         "{{ states(contact_window_tilted) in ['true', 'on'] }}",
  2986.                         "{{ not lockout_tilted_when_closing }}",
  2987.                         {
  2988.                           "or": [
  2989.                             "{{ contact_window_opened == [] }}",
  2990.                             "{{ states(contact_window_opened) in ['false', 'off'] }}"
  2991.                           ]
  2992.                         }
  2993.                       ],
  2994.                       "sequence": [
  2995.                         {
  2996.                           "choose": [],
  2997.                           "default": []
  2998.                         },
  2999.                         {
  3000.                           "delay": {
  3001.                             "seconds": "{{ range(drive_delay_fix|int(0), drive_delay_fix|int(0) + drive_delay_random|int(0) +1) | random }}"
  3002.                           }
  3003.                         },
  3004.                         {
  3005.                           "variables": {
  3006.                             "target_position": 99,
  3007.                             "target_tilt_position": 50,
  3008.                             "update_values": {
  3009.                               "open": {
  3010.                                 "a": 0,
  3011.                                 "t": "{{ helper_state_json.open.t }}"
  3012.                               },
  3013.                               "close": {
  3014.                                 "a": 1,
  3015.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  3016.                               },
  3017.                               "shading": {
  3018.                                 "a": 0,
  3019.                                 "t": "{{ helper_state_json.shading.t }}",
  3020.                                 "p": 0,
  3021.                                 "q": 0
  3022.                               },
  3023.                               "vpart": {
  3024.                                 "a": 1,
  3025.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  3026.                               },
  3027.                               "vfull": {
  3028.                                 "a": 0,
  3029.                                 "t": "{{ helper_state_json.vfull.t }}"
  3030.                               },
  3031.                               "manual": {
  3032.                                 "a": 0,
  3033.                                 "t": "{{ helper_state_json.manual.t }}"
  3034.                               },
  3035.                               "t": "{{ as_timestamp(now()) | round(0) }}"
  3036.                             }
  3037.                           }
  3038.                         },
  3039.                         {
  3040.                           "sequence": [
  3041.                             {
  3042.                               "repeat": {
  3043.                                 "for_each": "{{ blind_entities | list }}",
  3044.                                 "sequence": [
  3045.                                   {
  3046.                                     "choose": [
  3047.                                       {
  3048.                                         "conditions": [
  3049.                                           "{{ not prevent_default_cover_actions }}",
  3050.                                           "{{ target_position | default(101)  == 0 }}"
  3051.                                         ],
  3052.                                         "sequence": [
  3053.                                           {
  3054.                                             "alias": "Close Cover",
  3055.                                             "target": {
  3056.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3057.                                             },
  3058.                                             "action": "cover.close_cover"
  3059.                                           }
  3060.                                         ]
  3061.                                       },
  3062.                                       {
  3063.                                         "conditions": [
  3064.                                           "{{ not prevent_default_cover_actions }}",
  3065.                                           "{{ target_position | default(101) == 100 }}"
  3066.                                         ],
  3067.                                         "sequence": [
  3068.                                           {
  3069.                                             "alias": "Open Cover",
  3070.                                             "target": {
  3071.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3072.                                             },
  3073.                                             "action": "cover.open_cover"
  3074.                                           }
  3075.                                         ]
  3076.                                       },
  3077.                                       {
  3078.                                         "conditions": [
  3079.                                           "{{ not prevent_default_cover_actions }}",
  3080.                                           "{{ target_position | default(101) not in [0, 100] }}"
  3081.                                         ],
  3082.                                         "sequence": [
  3083.                                           {
  3084.                                             "alias": "Moving the cover to target position",
  3085.                                             "data": {
  3086.                                               "position": "{{ target_position | default(101) }}"
  3087.                                             },
  3088.                                             "target": {
  3089.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3090.                                             },
  3091.                                             "action": "cover.set_cover_position"
  3092.                                           }
  3093.                                         ]
  3094.                                       }
  3095.                                     ]
  3096.                                   },
  3097.                                   {
  3098.                                     "delay": {
  3099.                                       "seconds": "{{ (range(1, 3) | random | int) }}"
  3100.                                     }
  3101.                                   }
  3102.                                 ]
  3103.                               }
  3104.                             }
  3105.                           ]
  3106.                         },
  3107.                         {
  3108.                           "sequence": [
  3109.                             {
  3110.                               "if": [
  3111.                                 "{{ not prevent_default_cover_actions }}",
  3112.                                 "{{ is_cover_tilt_enabled_and_possible }}",
  3113.                                 "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  3114.                               ],
  3115.                               "then": [
  3116.                                 {
  3117.                                   "repeat": {
  3118.                                     "for_each": "{{ blind_entities | list }}",
  3119.                                     "sequence": [
  3120.                                       {
  3121.                                         "if": [
  3122.                                           "{{ tilt_first | default(false) }}"
  3123.                                         ],
  3124.                                         "then": [
  3125.                                           {
  3126.                                             "alias": "Reset Tilt",
  3127.                                             "data": {
  3128.                                               "tilt_position": 0
  3129.                                             },
  3130.                                             "target": {
  3131.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3132.                                             },
  3133.                                             "action": "cover.set_cover_tilt_position"
  3134.                                           },
  3135.                                           {
  3136.                                             "delay": {
  3137.                                               "seconds": 0
  3138.                                             }
  3139.                                           }
  3140.                                         ]
  3141.                                       },
  3142.                                       {
  3143.                                         "alias": "Tilt Delay",
  3144.                                         "delay": {
  3145.                                           "seconds": 0
  3146.                                         }
  3147.                                       },
  3148.                                       {
  3149.                                         "alias": "Moving the cover to tilt position",
  3150.                                         "data": {
  3151.                                           "tilt_position": "{{ target_tilt_position | default(101) }}"
  3152.                                         },
  3153.                                         "target": {
  3154.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3155.                                         },
  3156.                                         "action": "cover.set_cover_tilt_position"
  3157.                                       },
  3158.                                       {
  3159.                                         "delay": {
  3160.                                           "seconds": "{{ (range(1, 3) | random | int) }}"
  3161.                                         }
  3162.                                       }
  3163.                                     ]
  3164.                                   }
  3165.                                 }
  3166.                               ]
  3167.                             }
  3168.                           ]
  3169.                         },
  3170.                         {
  3171.                           "if": [
  3172.                             "{{ is_status_helper_enabled }}"
  3173.                           ],
  3174.                           "then": [
  3175.                             {
  3176.                               "alias": "Update cover status helper",
  3177.                               "data": {
  3178.                                 "entity_id": "input_text.cover_status_helper_ankleide",
  3179.                                 "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3180.                               },
  3181.                               "action": "input_text.set_value"
  3182.                             }
  3183.                           ]
  3184.                         },
  3185.                         {
  3186.                           "choose": [],
  3187.                           "default": []
  3188.                         }
  3189.                       ]
  3190.                     },
  3191.                     {
  3192.                       "alias": "Only status change if cover is already 'near' the close position",
  3193.                       "conditions": [
  3194.                         {
  3195.                           "or": [
  3196.                             {
  3197.                               "and": [
  3198.                                 "{{ is_status_helper_enabled }}",
  3199.                                 "{{ prevent_lowering_when_closing_if_shaded }}",
  3200.                                 "{{ is_helper_shaded }}",
  3201.                                 "{{ close_position > shading_position }}"
  3202.                               ]
  3203.                             },
  3204.                             {
  3205.                               "and": [
  3206.                                 "{{ prevent_lowering_when_closing_if_shaded }}",
  3207.                                 "{{ in_shading_position }}",
  3208.                                 "{{ close_position > shading_position }}"
  3209.                               ]
  3210.                             },
  3211.                             {
  3212.                               "and": [
  3213.                                 "{{ prevent_higher_position_closing }}",
  3214.                                 "{{ (current_position <= close_position) }}"
  3215.                               ]
  3216.                             }
  3217.                           ]
  3218.                         }
  3219.                       ],
  3220.                       "sequence": [
  3221.                         {
  3222.                           "variables": {
  3223.                             "update_values": {
  3224.                               "open": {
  3225.                                 "a": 0,
  3226.                                 "t": "{{ helper_state_json.open.t }}"
  3227.                               },
  3228.                               "close": {
  3229.                                 "a": 1,
  3230.                                 "t": "{{ as_timestamp(now()) | round(0) }}"
  3231.                               },
  3232.                               "shading": {
  3233.                                 "a": 0,
  3234.                                 "t": "{{ helper_state_json.shading.t }}",
  3235.                                 "p": 0,
  3236.                                 "q": 0
  3237.                               },
  3238.                               "vpart": {
  3239.                                 "a": 0,
  3240.                                 "t": "{{ helper_state_json.vpart.t }}"
  3241.                               },
  3242.                               "vfull": {
  3243.                                 "a": 0,
  3244.                                 "t": "{{ helper_state_json.vfull.t }}"
  3245.                               },
  3246.                               "t": "{{ as_timestamp(now()) | round(0) }}"
  3247.                             }
  3248.                           }
  3249.                         },
  3250.                         {
  3251.                           "if": [
  3252.                             "{{ is_status_helper_enabled }}"
  3253.                           ],
  3254.                           "then": [
  3255.                             {
  3256.                               "alias": "Update cover status helper",
  3257.                               "data": {
  3258.                                 "entity_id": "input_text.cover_status_helper_ankleide",
  3259.                                 "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3260.                               },
  3261.                               "action": "input_text.set_value"
  3262.                             }
  3263.                           ]
  3264.                         }
  3265.                       ]
  3266.                     }
  3267.                   ],
  3268.                   "default": [
  3269.                     {
  3270.                       "choose": [],
  3271.                       "default": []
  3272.                     },
  3273.                     {
  3274.                       "alias": "Normal closing of the cover",
  3275.                       "delay": {
  3276.                         "seconds": "{{ range(drive_delay_fix|int(0), drive_delay_fix|int(0) + drive_delay_random|int(0) +1) | random }}"
  3277.                       }
  3278.                     },
  3279.                     {
  3280.                       "variables": {
  3281.                         "target_position": 0,
  3282.                         "target_tilt_position": 50,
  3283.                         "update_values": {
  3284.                           "open": {
  3285.                             "a": 0,
  3286.                             "t": "{{ helper_state_json.open.t }}"
  3287.                           },
  3288.                           "close": {
  3289.                             "a": 1,
  3290.                             "t": "{{ as_timestamp(now()) | round(0) }}"
  3291.                           },
  3292.                           "shading": {
  3293.                             "a": 0,
  3294.                             "t": "{{ helper_state_json.shading.t }}",
  3295.                             "p": 0,
  3296.                             "q": 0
  3297.                           },
  3298.                           "vpart": {
  3299.                             "a": 0,
  3300.                             "t": "{{ helper_state_json.vpart.t }}"
  3301.                           },
  3302.                           "vfull": {
  3303.                             "a": 0,
  3304.                             "t": "{{ helper_state_json.vfull.t }}"
  3305.                           },
  3306.                           "manual": {
  3307.                             "a": 0,
  3308.                             "t": "{{ helper_state_json.manual.t }}"
  3309.                           },
  3310.                           "t": "{{ as_timestamp(now()) | round(0) }}"
  3311.                         }
  3312.                       }
  3313.                     },
  3314.                     {
  3315.                       "sequence": [
  3316.                         {
  3317.                           "repeat": {
  3318.                             "for_each": "{{ blind_entities | list }}",
  3319.                             "sequence": [
  3320.                               {
  3321.                                 "choose": [
  3322.                                   {
  3323.                                     "conditions": [
  3324.                                       "{{ not prevent_default_cover_actions }}",
  3325.                                       "{{ target_position | default(101)  == 0 }}"
  3326.                                     ],
  3327.                                     "sequence": [
  3328.                                       {
  3329.                                         "alias": "Close Cover",
  3330.                                         "target": {
  3331.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3332.                                         },
  3333.                                         "action": "cover.close_cover"
  3334.                                       }
  3335.                                     ]
  3336.                                   },
  3337.                                   {
  3338.                                     "conditions": [
  3339.                                       "{{ not prevent_default_cover_actions }}",
  3340.                                       "{{ target_position | default(101) == 100 }}"
  3341.                                     ],
  3342.                                     "sequence": [
  3343.                                       {
  3344.                                         "alias": "Open Cover",
  3345.                                         "target": {
  3346.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3347.                                         },
  3348.                                         "action": "cover.open_cover"
  3349.                                       }
  3350.                                     ]
  3351.                                   },
  3352.                                   {
  3353.                                     "conditions": [
  3354.                                       "{{ not prevent_default_cover_actions }}",
  3355.                                       "{{ target_position | default(101) not in [0, 100] }}"
  3356.                                     ],
  3357.                                     "sequence": [
  3358.                                       {
  3359.                                         "alias": "Moving the cover to target position",
  3360.                                         "data": {
  3361.                                           "position": "{{ target_position | default(101) }}"
  3362.                                         },
  3363.                                         "target": {
  3364.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3365.                                         },
  3366.                                         "action": "cover.set_cover_position"
  3367.                                       }
  3368.                                     ]
  3369.                                   }
  3370.                                 ]
  3371.                               },
  3372.                               {
  3373.                                 "delay": {
  3374.                                   "seconds": "{{ (range(1, 3) | random | int) }}"
  3375.                                 }
  3376.                               }
  3377.                             ]
  3378.                           }
  3379.                         }
  3380.                       ]
  3381.                     },
  3382.                     {
  3383.                       "sequence": [
  3384.                         {
  3385.                           "if": [
  3386.                             "{{ not prevent_default_cover_actions }}",
  3387.                             "{{ is_cover_tilt_enabled_and_possible }}",
  3388.                             "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  3389.                           ],
  3390.                           "then": [
  3391.                             {
  3392.                               "repeat": {
  3393.                                 "for_each": "{{ blind_entities | list }}",
  3394.                                 "sequence": [
  3395.                                   {
  3396.                                     "if": [
  3397.                                       "{{ tilt_first | default(false) }}"
  3398.                                     ],
  3399.                                     "then": [
  3400.                                       {
  3401.                                         "alias": "Reset Tilt",
  3402.                                         "data": {
  3403.                                           "tilt_position": 0
  3404.                                         },
  3405.                                         "target": {
  3406.                                           "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3407.                                         },
  3408.                                         "action": "cover.set_cover_tilt_position"
  3409.                                       },
  3410.                                       {
  3411.                                         "delay": {
  3412.                                           "seconds": 0
  3413.                                         }
  3414.                                       }
  3415.                                     ]
  3416.                                   },
  3417.                                   {
  3418.                                     "alias": "Tilt Delay",
  3419.                                     "delay": {
  3420.                                       "seconds": 0
  3421.                                     }
  3422.                                   },
  3423.                                   {
  3424.                                     "alias": "Moving the cover to tilt position",
  3425.                                     "data": {
  3426.                                       "tilt_position": "{{ target_tilt_position | default(101) }}"
  3427.                                     },
  3428.                                     "target": {
  3429.                                       "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3430.                                     },
  3431.                                     "action": "cover.set_cover_tilt_position"
  3432.                                   },
  3433.                                   {
  3434.                                     "delay": {
  3435.                                       "seconds": "{{ (range(1, 3) | random | int) }}"
  3436.                                     }
  3437.                                   }
  3438.                                 ]
  3439.                               }
  3440.                             }
  3441.                           ]
  3442.                         }
  3443.                       ]
  3444.                     },
  3445.                     {
  3446.                       "if": [
  3447.                         "{{ is_status_helper_enabled }}"
  3448.                       ],
  3449.                       "then": [
  3450.                         {
  3451.                           "alias": "Update cover status helper",
  3452.                           "data": {
  3453.                             "entity_id": "input_text.cover_status_helper_ankleide",
  3454.                             "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3455.                           },
  3456.                           "action": "input_text.set_value"
  3457.                         }
  3458.                       ]
  3459.                     },
  3460.                     {
  3461.                       "choose": [],
  3462.                       "default": []
  3463.                     }
  3464.                   ]
  3465.                 }
  3466.               ]
  3467.             },
  3468.             {
  3469.               "alias": "Check for shading start",
  3470.               "conditions": [
  3471.                 "{{ is_shading_enabled }}",
  3472.                 "{{ trigger.id is defined }}",
  3473.                 "{{ trigger.id | regex_match('^(t_shading_start|t_open_1|t_open_3)') }}",
  3474.                 "{{ is_status_helper_enabled }}",
  3475.                 {
  3476.                   "condition": []
  3477.                 },
  3478.                 {
  3479.                   "and": [
  3480.                     "{{ auto_up_force_disabled }}",
  3481.                     "{{ auto_down_force_disabled }}",
  3482.                     "{{ auto_ventilate_force_disabled }}"
  3483.                   ]
  3484.                 },
  3485.                 {
  3486.                   "or": [
  3487.                     "{{ not is_helper_shaded }}",
  3488.                     "{{ not (is_helper_vent_partial or is_helper_vent_full) }}"
  3489.                   ]
  3490.                 },
  3491.                 {
  3492.                   "or": [
  3493.                     {
  3494.                       "and": [
  3495.                         "{{ not is_cover_tilt_enabled_and_possible }}",
  3496.                         "{{ not in_shading_position }}"
  3497.                       ]
  3498.                     },
  3499.                     {
  3500.                       "and": [
  3501.                         "{{ is_cover_tilt_enabled_and_possible }}",
  3502.                         "{{ current_position >= shading_position }}"
  3503.                       ]
  3504.                     }
  3505.                   ]
  3506.                 },
  3507.                 "{{ not (is_helper_manual and override_shading_after_manual) }}",
  3508.                 {
  3509.                   "or": [
  3510.                     "{{ not prevent_shading_multiple_times }}",
  3511.                     "{{ prevent_shading_multiple_times and (now().day != ts_helper_shaded|timestamp_custom('%-d') | int) }}",
  3512.                     "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}"
  3513.                   ]
  3514.                 }
  3515.               ],
  3516.               "sequence": [
  3517.                 {
  3518.                   "if": [
  3519.                     "{{ current_sun_azimuth > shading_azimuth_start and current_sun_azimuth < shading_azimuth_end }}",
  3520.                     "{{ current_sun_elevation > shading_elevation_min and current_sun_elevation < shading_elevation_max }}",
  3521.                     {
  3522.                       "or": [
  3523.                         "{{ shading_brightness_sensor == [] }}",
  3524.                         "{{ states(shading_brightness_sensor) | float(default=shading_sun_brightness_start) > shading_sun_brightness_start }}"
  3525.                       ]
  3526.                     },
  3527.                     {
  3528.                       "or": [
  3529.                         "{{ shading_temperatur_sensor1 == [] }}",
  3530.                         "{{ states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) > shading_min_temperatur1 }}"
  3531.                       ]
  3532.                     },
  3533.                     {
  3534.                       "or": [
  3535.                         "{{ shading_temperatur_sensor2 == [] }}",
  3536.                         "{{ states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) > shading_min_temperatur2 }}"
  3537.                       ]
  3538.                     },
  3539.                     {
  3540.                       "or": [
  3541.                         "{{ shading_forecast_sensor == [] }}",
  3542.                         "{{ shading_forecast_temp == [] }}",
  3543.                         {
  3544.                           "and": [
  3545.                             "{{ shading_forecast_sensor.startswith('sensor.') }}",
  3546.                             "{{ states(shading_forecast_sensor) | float(default=shading_forecast_temp - 1) > shading_forecast_temp }}"
  3547.                           ]
  3548.                         },
  3549.                         {
  3550.                           "and": [
  3551.                             "{{ shading_forecast_sensor.startswith('weather.') }}",
  3552.                             "{{ prevent_forecast_service }}",
  3553.                             "{{ state_attr(shading_forecast_sensor, 'temperature') | float(default=shading_forecast_temp - 1) > shading_forecast_temp }}"
  3554.                           ]
  3555.                         },
  3556.                         {
  3557.                           "and": [
  3558.                             "{{ shading_forecast_sensor.startswith('weather.') }}",
  3559.                             "{{ not prevent_forecast_service }}",
  3560.                             "{{ weather_forecast is defined }}",
  3561.                             "{{ weather_forecast[shading_forecast_sensor].forecast[0].temperature | float(default=shading_forecast_temp - 1) > shading_forecast_temp }}"
  3562.                           ]
  3563.                         },
  3564.                         "{{ (shading_temperatur_sensor2 != [] ) and (states(shading_temperatur_sensor2) | float(default=shading_forecast_temp) > shading_forecast_temp) }}"
  3565.                       ]
  3566.                     },
  3567.                     {
  3568.                       "or": [
  3569.                         "{{ shading_forecast_sensor == [] }}",
  3570.                         "{{ shading_weather_conditions == [] }}",
  3571.                         "{{ shading_forecast_sensor.startswith('sensor.') }}",
  3572.                         {
  3573.                           "and": [
  3574.                             "{{ shading_forecast_sensor.startswith('weather.') }}",
  3575.                             "{{ prevent_forecast_service }}",
  3576.                             "{{ states(shading_forecast_sensor) in shading_weather_conditions }}"
  3577.                           ]
  3578.                         },
  3579.                         {
  3580.                           "and": [
  3581.                             "{{ shading_forecast_sensor.startswith('weather.') }}",
  3582.                             "{{ not prevent_forecast_service }}",
  3583.                             "{{ weather_forecast is defined }}",
  3584.                             "{{ weather_forecast[shading_forecast_sensor].forecast[0].condition in shading_weather_conditions }}"
  3585.                           ]
  3586.                         }
  3587.                       ]
  3588.                     }
  3589.                   ],
  3590.                   "then": [
  3591.                     {
  3592.                       "choose": [
  3593.                         {
  3594.                           "alias": "Shading detected. Save next execution time and pending status",
  3595.                           "conditions": [
  3596.                             "{{ trigger.id | regex_match('^(t_shading_start_pending)') }}",
  3597.                             "{{ not is_helper_shading_start }}"
  3598.                           ],
  3599.                           "sequence": [
  3600.                             {
  3601.                               "variables": {
  3602.                                 "update_values": {
  3603.                                   "shading": {
  3604.                                     "a": 1,
  3605.                                     "t": "{{ as_timestamp(now()) | round(0) }}",
  3606.                                     "p": "{{ (as_timestamp(now()) | round(0) + (shading_waitingtime_start | int)) | round(0) }}",
  3607.                                     "q": 0
  3608.                                   },
  3609.                                   "t": "{{ as_timestamp(now()) | round(0) }}"
  3610.                                 }
  3611.                               }
  3612.                             },
  3613.                             {
  3614.                               "if": [
  3615.                                 "{{ is_status_helper_enabled }}"
  3616.                               ],
  3617.                               "then": [
  3618.                                 {
  3619.                                   "alias": "Update cover status helper",
  3620.                                   "data": {
  3621.                                     "entity_id": "input_text.cover_status_helper_ankleide",
  3622.                                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3623.                                   },
  3624.                                   "action": "input_text.set_value"
  3625.                                 }
  3626.                               ]
  3627.                             }
  3628.                           ]
  3629.                         },
  3630.                         {
  3631.                           "alias": "Consider lockout protection when shading starts",
  3632.                           "conditions": [
  3633.                             "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
  3634.                             "{{ is_helper_shading_start }}",
  3635.                             "{{ is_ventilation_enabled }}",
  3636.                             {
  3637.                               "or": [
  3638.                                 {
  3639.                                   "and": [
  3640.                                     "{{ contact_window_opened != [] }}",
  3641.                                     "{{ states(contact_window_opened) in ['true', 'on'] }}"
  3642.                                   ]
  3643.                                 },
  3644.                                 {
  3645.                                   "and": [
  3646.                                     "{{ lockout_tilted_when_shading_starts }}",
  3647.                                     "{{ contact_window_tilted != [] }}",
  3648.                                     "{{ states(contact_window_tilted) in ['true', 'on'] }}"
  3649.                                   ]
  3650.                                 }
  3651.                               ]
  3652.                             }
  3653.                           ],
  3654.                           "sequence": [
  3655.                             {
  3656.                               "variables": {
  3657.                                 "update_values": {
  3658.                                   "open": {
  3659.                                     "a": 1,
  3660.                                     "t": "{{ as_timestamp(now()) | round(0) }}"
  3661.                                   },
  3662.                                   "close": {
  3663.                                     "a": 0,
  3664.                                     "t": "{{ helper_state_json.close.t }}"
  3665.                                   },
  3666.                                   "shading": {
  3667.                                     "a": 1,
  3668.                                     "t": "{{ as_timestamp(now()) | round(0) }}",
  3669.                                     "p": 0,
  3670.                                     "q": 0
  3671.                                   },
  3672.                                   "vpart": {
  3673.                                     "a": 0,
  3674.                                     "t": "{{ helper_state_json.vpart.t }}"
  3675.                                   },
  3676.                                   "vfull": {
  3677.                                     "a": 1,
  3678.                                     "t": "{{ as_timestamp(now()) | round(0) }}"
  3679.                                   },
  3680.                                   "manual": {
  3681.                                     "a": 0,
  3682.                                     "t": "{{ helper_state_json.manual.t }}"
  3683.                                   },
  3684.                                   "t": "{{ as_timestamp(now()) | round(0) }}"
  3685.                                 }
  3686.                               }
  3687.                             },
  3688.                             {
  3689.                               "if": [
  3690.                                 "{{ is_status_helper_enabled }}"
  3691.                               ],
  3692.                               "then": [
  3693.                                 {
  3694.                                   "alias": "Update cover status helper",
  3695.                                   "data": {
  3696.                                     "entity_id": "input_text.cover_status_helper_ankleide",
  3697.                                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3698.                                   },
  3699.                                   "action": "input_text.set_value"
  3700.                                 }
  3701.                               ]
  3702.                             }
  3703.                           ]
  3704.                         },
  3705.                         {
  3706.                           "alias": "Start Shading",
  3707.                           "conditions": [
  3708.                             "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
  3709.                             "{{ is_helper_shading_start }}",
  3710.                             {
  3711.                               "or": [
  3712.                                 {
  3713.                                   "and": [
  3714.                                     "{{ not is_cover_tilt_enabled_and_possible }}",
  3715.                                     "{{ current_position > shading_position }}"
  3716.                                   ]
  3717.                                 },
  3718.                                 {
  3719.                                   "and": [
  3720.                                     "{{ is_cover_tilt_enabled_and_possible }}",
  3721.                                     "{{ current_position >= shading_position }}"
  3722.                                   ]
  3723.                                 }
  3724.                               ]
  3725.                             },
  3726.                             {
  3727.                               "or": [
  3728.                                 {
  3729.                                   "and": [
  3730.                                     "{{ is_time_control_disabled }}"
  3731.                                   ]
  3732.                                 },
  3733.                                 {
  3734.                                   "and": [
  3735.                                     "{{ is_time_field_enabled }}",
  3736.                                     "{{ now() >= today_at(time_up_early_today) }}",
  3737.                                     "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
  3738.                                   ]
  3739.                                 },
  3740.                                 {
  3741.                                   "and": [
  3742.                                     "{{ is_schedule_helper_enabled }}",
  3743.                                     "{{ time_schedule_helper != [] }}",
  3744.                                     "{{ is_state(time_schedule_helper, 'on') }}"
  3745.                                   ]
  3746.                                 }
  3747.                               ]
  3748.                             },
  3749.                             {
  3750.                               "or": [
  3751.                                 "{{ resident_sensor == [] }}",
  3752.                                 "{{ states(resident_sensor) in ['false', 'off'] }}",
  3753.                                 {
  3754.                                   "and": [
  3755.                                     "{{ resident_allow_shading }}",
  3756.                                     "{{ states(resident_sensor) in ['true', 'on'] }}"
  3757.                                   ]
  3758.                                 }
  3759.                               ]
  3760.                             }
  3761.                           ],
  3762.                           "sequence": [
  3763.                             {
  3764.                               "delay": {
  3765.                                 "seconds": "{{ range(drive_delay_fix | int(0), drive_delay_fix | int(0) + drive_delay_random | int(0) +1) | random }}"
  3766.                               }
  3767.                             },
  3768.                             {
  3769.                               "choose": [],
  3770.                               "default": []
  3771.                             },
  3772.                             {
  3773.                               "variables": {
  3774.                                 "target_position": 1,
  3775.                                 "target_tilt_position": "{{ shading_tilt_position | int }}",
  3776.                                 "update_values": {
  3777.                                   "open": {
  3778.                                     "a": 1,
  3779.                                     "t": "{{ as_timestamp(now()) | round(0) }}"
  3780.                                   },
  3781.                                   "close": {
  3782.                                     "a": 0,
  3783.                                     "t": "{{ helper_state_json.close.t }}"
  3784.                                   },
  3785.                                   "shading": {
  3786.                                     "a": 1,
  3787.                                     "t": "{{ as_timestamp(now()) | round(0) }}",
  3788.                                     "p": 0,
  3789.                                     "q": 0
  3790.                                   },
  3791.                                   "vpart": {
  3792.                                     "a": 0,
  3793.                                     "t": "{{ helper_state_json.vpart.t }}"
  3794.                                   },
  3795.                                   "vfull": {
  3796.                                     "a": 0,
  3797.                                     "t": "{{ helper_state_json.vfull.t }}"
  3798.                                   },
  3799.                                   "manual": {
  3800.                                     "a": 0,
  3801.                                     "t": "{{ helper_state_json.manual.t }}"
  3802.                                   },
  3803.                                   "t": "{{ as_timestamp(now()) | round(0) }}"
  3804.                                 }
  3805.                               }
  3806.                             },
  3807.                             {
  3808.                               "sequence": [
  3809.                                 {
  3810.                                   "repeat": {
  3811.                                     "for_each": "{{ blind_entities | list }}",
  3812.                                     "sequence": [
  3813.                                       {
  3814.                                         "choose": [
  3815.                                           {
  3816.                                             "conditions": [
  3817.                                               "{{ not prevent_default_cover_actions }}",
  3818.                                               "{{ target_position | default(101)  == 0 }}"
  3819.                                             ],
  3820.                                             "sequence": [
  3821.                                               {
  3822.                                                 "alias": "Close Cover",
  3823.                                                 "target": {
  3824.                                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3825.                                                 },
  3826.                                                 "action": "cover.close_cover"
  3827.                                               }
  3828.                                             ]
  3829.                                           },
  3830.                                           {
  3831.                                             "conditions": [
  3832.                                               "{{ not prevent_default_cover_actions }}",
  3833.                                               "{{ target_position | default(101) == 100 }}"
  3834.                                             ],
  3835.                                             "sequence": [
  3836.                                               {
  3837.                                                 "alias": "Open Cover",
  3838.                                                 "target": {
  3839.                                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3840.                                                 },
  3841.                                                 "action": "cover.open_cover"
  3842.                                               }
  3843.                                             ]
  3844.                                           },
  3845.                                           {
  3846.                                             "conditions": [
  3847.                                               "{{ not prevent_default_cover_actions }}",
  3848.                                               "{{ target_position | default(101) not in [0, 100] }}"
  3849.                                             ],
  3850.                                             "sequence": [
  3851.                                               {
  3852.                                                 "alias": "Moving the cover to target position",
  3853.                                                 "data": {
  3854.                                                   "position": "{{ target_position | default(101) }}"
  3855.                                                 },
  3856.                                                 "target": {
  3857.                                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3858.                                                 },
  3859.                                                 "action": "cover.set_cover_position"
  3860.                                               }
  3861.                                             ]
  3862.                                           }
  3863.                                         ]
  3864.                                       },
  3865.                                       {
  3866.                                         "delay": {
  3867.                                           "seconds": "{{ (range(1, 3) | random | int) }}"
  3868.                                         }
  3869.                                       }
  3870.                                     ]
  3871.                                   }
  3872.                                 }
  3873.                               ]
  3874.                             },
  3875.                             {
  3876.                               "sequence": [
  3877.                                 {
  3878.                                   "if": [
  3879.                                     "{{ not prevent_default_cover_actions }}",
  3880.                                     "{{ is_cover_tilt_enabled_and_possible }}",
  3881.                                     "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  3882.                                   ],
  3883.                                   "then": [
  3884.                                     {
  3885.                                       "repeat": {
  3886.                                         "for_each": "{{ blind_entities | list }}",
  3887.                                         "sequence": [
  3888.                                           {
  3889.                                             "if": [
  3890.                                               "{{ tilt_first | default(false) }}"
  3891.                                             ],
  3892.                                             "then": [
  3893.                                               {
  3894.                                                 "alias": "Reset Tilt",
  3895.                                                 "data": {
  3896.                                                   "tilt_position": 0
  3897.                                                 },
  3898.                                                 "target": {
  3899.                                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3900.                                                 },
  3901.                                                 "action": "cover.set_cover_tilt_position"
  3902.                                               },
  3903.                                               {
  3904.                                                 "delay": {
  3905.                                                   "seconds": 0
  3906.                                                 }
  3907.                                               }
  3908.                                             ]
  3909.                                           },
  3910.                                           {
  3911.                                             "alias": "Tilt Delay",
  3912.                                             "delay": {
  3913.                                               "seconds": 0
  3914.                                             }
  3915.                                           },
  3916.                                           {
  3917.                                             "alias": "Moving the cover to tilt position",
  3918.                                             "data": {
  3919.                                               "tilt_position": "{{ target_tilt_position | default(101) }}"
  3920.                                             },
  3921.                                             "target": {
  3922.                                               "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  3923.                                             },
  3924.                                             "action": "cover.set_cover_tilt_position"
  3925.                                           },
  3926.                                           {
  3927.                                             "delay": {
  3928.                                               "seconds": "{{ (range(1, 3) | random | int) }}"
  3929.                                             }
  3930.                                           }
  3931.                                         ]
  3932.                                       }
  3933.                                     }
  3934.                                   ]
  3935.                                 }
  3936.                               ]
  3937.                             },
  3938.                             {
  3939.                               "if": [
  3940.                                 "{{ is_status_helper_enabled }}"
  3941.                               ],
  3942.                               "then": [
  3943.                                 {
  3944.                                   "alias": "Update cover status helper",
  3945.                                   "data": {
  3946.                                     "entity_id": "input_text.cover_status_helper_ankleide",
  3947.                                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3948.                                   },
  3949.                                   "action": "input_text.set_value"
  3950.                                 }
  3951.                               ]
  3952.                             },
  3953.                             {
  3954.                               "choose": [],
  3955.                               "default": []
  3956.                             }
  3957.                           ]
  3958.                         },
  3959.                         {
  3960.                           "alias": "Save shading state for the future",
  3961.                           "conditions": [
  3962.                             "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
  3963.                             "{{ is_helper_shading_start }}",
  3964.                             "{{ is_helper_closed }}"
  3965.                           ],
  3966.                           "sequence": [
  3967.                             {
  3968.                               "variables": {
  3969.                                 "update_values": {
  3970.                                   "shading": {
  3971.                                     "a": 1,
  3972.                                     "t": "{{ as_timestamp(now()) | round(0) }}",
  3973.                                     "p": 0,
  3974.                                     "q": 0
  3975.                                   },
  3976.                                   "t": "{{ as_timestamp(now()) | round(0) }}"
  3977.                                 }
  3978.                               }
  3979.                             },
  3980.                             {
  3981.                               "if": [
  3982.                                 "{{ is_status_helper_enabled }}"
  3983.                               ],
  3984.                               "then": [
  3985.                                 {
  3986.                                   "alias": "Update cover status helper",
  3987.                                   "data": {
  3988.                                     "entity_id": "input_text.cover_status_helper_ankleide",
  3989.                                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  3990.                                   },
  3991.                                   "action": "input_text.set_value"
  3992.                                 }
  3993.                               ]
  3994.                             }
  3995.                           ]
  3996.                         }
  3997.                       ]
  3998.                     }
  3999.                   ],
  4000.                   "else": [
  4001.                     {
  4002.                       "choose": [
  4003.                         {
  4004.                           "alias": "Shading conditions were not met consistently and it should be checked again periodically in a few seconds",
  4005.                           "conditions": [
  4006.                             "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
  4007.                             "{{ is_helper_shading_start }}",
  4008.                             "{{ start_shading_trigger_periodic }}",
  4009.                             {
  4010.                               "or": [
  4011.                                 {
  4012.                                   "and": [
  4013.                                     "{{ is_time_control_disabled }}",
  4014.                                     "{{ is_helper_open }}"
  4015.                                   ]
  4016.                                 },
  4017.                                 {
  4018.                                   "and": [
  4019.                                     "{{ is_time_field_enabled }}",
  4020.                                     "{{ now() >= today_at(time_up_early_today) }}",
  4021.                                     "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
  4022.                                   ]
  4023.                                 },
  4024.                                 {
  4025.                                   "and": [
  4026.                                     "{{ is_schedule_helper_enabled }}",
  4027.                                     "{{ time_schedule_helper != [] }}",
  4028.                                     "{{ is_state(time_schedule_helper, 'on') }}"
  4029.                                   ]
  4030.                                 }
  4031.                               ]
  4032.                             }
  4033.                           ],
  4034.                           "sequence": [
  4035.                             {
  4036.                               "variables": {
  4037.                                 "update_values": {
  4038.                                   "shading": {
  4039.                                     "a": 1,
  4040.                                     "t": "{{ as_timestamp(now()) | round(0) }}",
  4041.                                     "p": "{{ (as_timestamp(now()) | round(0) + (shading_waitingtime_start | int)) | round(0) }}",
  4042.                                     "q": 0
  4043.                                   },
  4044.                                   "t": "{{ as_timestamp(now()) | round(0) }}"
  4045.                                 }
  4046.                               }
  4047.                             },
  4048.                             {
  4049.                               "if": [
  4050.                                 "{{ is_status_helper_enabled }}"
  4051.                               ],
  4052.                               "then": [
  4053.                                 {
  4054.                                   "alias": "Update cover status helper",
  4055.                                   "data": {
  4056.                                     "entity_id": "input_text.cover_status_helper_ankleide",
  4057.                                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  4058.                                   },
  4059.                                   "action": "input_text.set_value"
  4060.                                 }
  4061.                               ]
  4062.                             }
  4063.                           ]
  4064.                         },
  4065.                         {
  4066.                           "alias": "Shading conditions were not consistently met and the next new trigger should be waited for",
  4067.                           "conditions": [
  4068.                             "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
  4069.                             "{{ is_helper_shading_start }}",
  4070.                             "{{ start_shading_trigger_reset }}"
  4071.                           ],
  4072.                           "sequence": [
  4073.                             {
  4074.                               "variables": {
  4075.                                 "update_values": {
  4076.                                   "shading": {
  4077.                                     "a": 0,
  4078.                                     "t": "{{ as_timestamp(now()) | round(0) }}",
  4079.                                     "p": 0,
  4080.                                     "q": 0
  4081.                                   },
  4082.                                   "t": "{{ as_timestamp(now()) | round(0) }}"
  4083.                                 }
  4084.                               }
  4085.                             },
  4086.                             {
  4087.                               "if": [
  4088.                                 "{{ is_status_helper_enabled }}"
  4089.                               ],
  4090.                               "then": [
  4091.                                 {
  4092.                                   "alias": "Update cover status helper",
  4093.                                   "data": {
  4094.                                     "entity_id": "input_text.cover_status_helper_ankleide",
  4095.                                     "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  4096.                                   },
  4097.                                   "action": "input_text.set_value"
  4098.                                 }
  4099.                               ]
  4100.                             }
  4101.                           ]
  4102.                         }
  4103.                       ]
  4104.                     }
  4105.                   ]
  4106.                 }
  4107.               ]
  4108.             },
  4109.             {
  4110.               "alias": "Check for shading tilt",
  4111.               "conditions": [
  4112.                 "{{ is_shading_enabled }}",
  4113.                 "{{ trigger.id is defined }}",
  4114.                 "{{ trigger.id | regex_match('^(t_shading_tilt)') }}",
  4115.                 "{{ is_status_helper_enabled }}",
  4116.                 {
  4117.                   "and": [
  4118.                     "{{ is_helper_shaded }}",
  4119.                     "{{ not is_helper_shading_start }}"
  4120.                   ]
  4121.                 },
  4122.                 "{{ is_cover_tilt_enabled_and_possible }}",
  4123.                 {
  4124.                   "condition": []
  4125.                 },
  4126.                 {
  4127.                   "and": [
  4128.                     "{{ auto_up_force_disabled }}",
  4129.                     "{{ auto_down_force_disabled }}",
  4130.                     "{{ auto_ventilate_force_disabled }}"
  4131.                   ]
  4132.                 },
  4133.                 "{{ not (is_helper_vent_partial or is_helper_vent_full) }}",
  4134.                 "{{ not (is_helper_manual and override_shading_after_manual) }}"
  4135.               ],
  4136.               "sequence": [
  4137.                 {
  4138.                   "variables": {
  4139.                     "target_tilt_position": "{{ shading_tilt_position | int }}",
  4140.                     "tilt_first": true,
  4141.                     "update_values": {
  4142.                       "t": "{{ as_timestamp(now()) | round(0) }}"
  4143.                     }
  4144.                   }
  4145.                 },
  4146.                 {
  4147.                   "sequence": [
  4148.                     {
  4149.                       "if": [
  4150.                         "{{ not prevent_default_cover_actions }}",
  4151.                         "{{ is_cover_tilt_enabled_and_possible }}",
  4152.                         "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
  4153.                       ],
  4154.                       "then": [
  4155.                         {
  4156.                           "repeat": {
  4157.                             "for_each": "{{ blind_entities | list }}",
  4158.                             "sequence": [
  4159.                               {
  4160.                                 "if": [
  4161.                                   "{{ tilt_first | default(false) }}"
  4162.                                 ],
  4163.                                 "then": [
  4164.                                   {
  4165.                                     "alias": "Reset Tilt",
  4166.                                     "data": {
  4167.                                       "tilt_position": 0
  4168.                                     },
  4169.                                     "target": {
  4170.                                       "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  4171.                                     },
  4172.                                     "action": "cover.set_cover_tilt_position"
  4173.                                   },
  4174.                                   {
  4175.                                     "delay": {
  4176.                                       "seconds": 0
  4177.                                     }
  4178.                                   }
  4179.                                 ]
  4180.                               },
  4181.                               {
  4182.                                 "alias": "Tilt Delay",
  4183.                                 "delay": {
  4184.                                   "seconds": 0
  4185.                                 }
  4186.                               },
  4187.                               {
  4188.                                 "alias": "Moving the cover to tilt position",
  4189.                                 "data": {
  4190.                                   "tilt_position": "{{ target_tilt_position | default(101) }}"
  4191.                                 },
  4192.                                 "target": {
  4193.                                   "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  4194.                                 },
  4195.                                 "action": "cover.set_cover_tilt_position"
  4196.                               },
  4197.                               {
  4198.                                 "delay": {
  4199.                                   "seconds": "{{ (range(1, 3) | random | int) }}"
  4200.                                 }
  4201.                               }
  4202.                             ]
  4203.                           }
  4204.                         }
  4205.                       ]
  4206.                     }
  4207.                   ]
  4208.                 },
  4209.                 {
  4210.                   "if": [
  4211.                     "{{ is_status_helper_enabled }}"
  4212.                   ],
  4213.                   "then": [
  4214.                     {
  4215.                       "alias": "Update cover status helper",
  4216.                       "data": {
  4217.                         "entity_id": "input_text.cover_status_helper_ankleide",
  4218.                         "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  4219.                       },
  4220.                       "action": "input_text.set_value"
  4221.                     }
  4222.                   ]
  4223.                 }
  4224.               ]
  4225.             },
  4226.             {
  4227.               "alias": "Check for shading end",
  4228.               "conditions": [
  4229.                 "{{ is_shading_enabled }}",
  4230.                 "{{ trigger.id is defined }}",
  4231.                 "{{ trigger.id | regex_match('^(t_shading_end)') }}",
  4232.                 "{{ is_status_helper_enabled }}",
  4233.                 {
  4234.                   "condition": []
  4235.                 },
  4236.                 {
  4237.                   "and": [
  4238.                     "{{ auto_up_force_disabled }}",
  4239.                     "{{ auto_down_force_disabled }}",
  4240.                     "{{ auto_ventilate_force_disabled }}",
  4241.                     "{{ auto_shading_start_force_disabled }}"
  4242.                   ]
  4243.                 },
  4244.                 {
  4245.                   "or": [
  4246.                     {
  4247.                       "and": [
  4248.                         "{{ is_time_control_disabled }}"
  4249.                       ]
  4250.                     },
  4251.                     {
  4252.                       "and": [
  4253.                         "{{ is_time_field_enabled }}",
  4254.                         "{{ now() >= today_at(time_up_early_today) }}",
  4255.                         "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
  4256.                       ]
  4257.                     },
  4258.                     {
  4259.                       "and": [
  4260.                         "{{ is_schedule_helper_enabled }}",
  4261.                         "{{ time_schedule_helper != [] }}",
  4262.                         "{{ is_state(time_schedule_helper, 'on') }}"
  4263.                       ]
  4264.                     }
  4265.                   ]
  4266.                 },
  4267.                 "{{ not (is_helper_manual and override_shading_after_manual) }}",
  4268.                 "{{ not is_helper_closed }}",
  4269.                 {
  4270.                   "or": [
  4271.                     "{{ is_helper_shaded }}",
  4272.                     "{{ in_shading_position }}"
  4273.                   ]
  4274.                 },
  4275.                 {
  4276.                   "or": [
  4277.                     "{{ not prevent_shading_end_if_closed }}",
  4278.                     "{{ prevent_shading_end_if_closed and not in_close_position}}"
  4279.                   ]
  4280.                 },
  4281.                 {
  4282.                   "or": [
  4283.                     "{{ resident_sensor == [] }}",
  4284.                     "{{ states(resident_sensor) in ['false', 'off'] }}"
  4285.                   ]
  4286.                 }
  4287.               ],
  4288.               "sequence": [
  4289.                 {
  4290.                   "choose": [
  4291.                     {
  4292.                       "alias": "Shading end detected. Save next execution time and pending status",
  4293.                       "conditions": [
  4294.                         "{{ trigger.id | regex_match('^(t_shading_end_pending)') }}",
  4295.                         "{{ not is_helper_shading_end }}"
  4296.                       ],
  4297.                       "sequence": [
  4298.                         {
  4299.                           "variables": {
  4300.                             "local_waitingtime_end": "{% set local_waitingtime_end = shading_waitingtime_end | default(0) | int %} {% if (is_shading_end_immediate_by_sun_position | default(false)) | bool and trigger.id == 't_shading_end_pending_5' %} {
Advertisement
Add Comment
Please, Sign In to add comment