Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "trace": {
- "last_step": "action/4/choose/4/sequence/0/choose/0/sequence/1/then/0",
- "run_id": "7eacad1346c7888fbbb0759d4c03bf14",
- "state": "stopped",
- "script_execution": "finished",
- "timestamp": {
- "start": "2025-07-01T14:37:48.348311+00:00",
- "finish": "2025-07-01T14:37:48.519567+00:00"
- },
- "domain": "automation",
- "item_id": "1750688188481",
- "trigger": "sensor.helligkeit_aussen via template",
- "trace": {
- "trigger/32": [
- {
- "path": "trigger/32",
- "timestamp": "2025-07-01T14:37:48.372094+00:00",
- "changed_variables": {
- "this": {
- "entity_id": "automation.rollladen_ankleide",
- "state": "on",
- "attributes": {
- "id": "1750688188481",
- "last_triggered": "2025-07-01T14:12:36.422204+00:00",
- "mode": "single",
- "current": 0,
- "friendly_name": "Rollladen Ankleide"
- },
- "last_changed": "2025-06-30T21:24:14.841965+00:00",
- "last_reported": "2025-07-01T14:12:36.621321+00:00",
- "last_updated": "2025-07-01T14:12:36.621321+00:00",
- "context": {
- "id": "01JZ35A7DEAJZ13PW7PC9SD52H",
- "parent_id": "01JZ35A6SRWRNZJZ8VSWKGZGRG",
- "user_id": null
- }
- },
- "trigger": {
- "platform": "template",
- "entity_id": "sensor.helligkeit_aussen",
- "from_state": {
- "entity_id": "sensor.helligkeit_aussen",
- "state": "39603.1",
- "attributes": {
- "state_class": "measurement",
- "unit_of_measurement": "lx",
- "device_class": "illuminance",
- "friendly_name": "Helligkeit Aussen"
- },
- "last_changed": "2025-07-01T14:36:06.128865+00:00",
- "last_reported": "2025-07-01T14:36:06.128865+00:00",
- "last_updated": "2025-07-01T14:36:06.128865+00:00",
- "context": {
- "id": "01JZ36N82G34QT256GESJS11XE",
- "parent_id": null,
- "user_id": null
- }
- },
- "to_state": {
- "entity_id": "sensor.helligkeit_aussen",
- "state": "6248.4",
- "attributes": {
- "state_class": "measurement",
- "unit_of_measurement": "lx",
- "device_class": "illuminance",
- "friendly_name": "Helligkeit Aussen"
- },
- "last_changed": "2025-07-01T14:37:47.336533+00:00",
- "last_reported": "2025-07-01T14:37:47.336533+00:00",
- "last_updated": "2025-07-01T14:37:47.336533+00:00",
- "context": {
- "id": "01JZ36RAXPCTRY6KH5JRRRHY6H",
- "parent_id": null,
- "user_id": null
- }
- },
- "id": "t_shading_end_pending_3",
- "idx": "32",
- "alias": null,
- "for": null,
- "description": "sensor.helligkeit_aussen via template"
- },
- "blind": "cover.dg_rl_ank",
- "open_position": 100,
- "close_position": 0,
- "ventilate_position": 99,
- "shading_position": 1,
- "position_tolerance": 0,
- "open_tilt_position": 50,
- "close_tilt_position": 50,
- "ventilate_tilt_position": 50,
- "shading_tilt_elevation_1": 20,
- "shading_tilt_elevation_2": 30,
- "shading_tilt_elevation_3": 48,
- "shading_tilt_position_0": 0,
- "shading_tilt_position_1": 20,
- "shading_tilt_position_2": 37,
- "shading_tilt_position_3": 50,
- "auto_options": [
- "auto_up_enabled",
- "auto_down_enabled",
- "auto_sun_enabled",
- "auto_shading_enabled",
- "auto_ventilate_enabled"
- ],
- "time_up_early": "07:00:00",
- "time_up_early_non_workday": "08:00:00",
- "time_up_late": "08:00:00",
- "time_up_late_non_workday": "09:00:00",
- "time_down_early": "20:00:00",
- "time_down_early_non_workday": "20:00:00",
- "time_down_late": "22:00:00",
- "time_down_late_non_workday": "22:00:00",
- "workday_sensor_today": "binary_sensor.workday_sensor",
- "workday_sensor_tomorrow": "binary_sensor.workday_sensor_tomorrow",
- "default_brightness_sensor": [],
- "brightness_up": 0,
- "brightness_down": 0,
- "default_sun_sensor": "sun.sun",
- "sun_elevation_up": 5,
- "sun_elevation_down": -6,
- "resident_sensor": [],
- "contact_window_tilted": [],
- "contact_window_opened": "binary_sensor.tfk_ank",
- "lockout_tilted_options": [
- "lockout_tilted_closing",
- "lockout_tilted_shading_start"
- ],
- "lockout_tilted_when_closing": true,
- "lockout_tilted_when_shading_starts": true,
- "lockout_tilted_when_shading_ends": false,
- "time_control": "time_control_input",
- "time_schedule_helper": [],
- "shading_brightness_sensor": "sensor.helligkeit_aussen",
- "shading_temperatur_sensor1": "sensor.dg_wt_sz_temperatur",
- "shading_temperatur_sensor2": "sensor.raspberrymatic_sv_wm_temperatur",
- "shading_min_temperatur1": 20,
- "shading_min_temperatur2": 22,
- "shading_temperature_hysteresis1": 0.2,
- "shading_temperature_hysteresis2": 0.2,
- "shading_azimuth_start": 150,
- "shading_azimuth_end": 330,
- "shading_elevation_min": 25,
- "shading_elevation_max": 90,
- "shading_sun_brightness_start": 35000,
- "shading_sun_brightness_end": 10000,
- "shading_forecast_sensor": [],
- "shading_forecast_type": "weather_attributes",
- "shading_forecast_temp": [],
- "shading_weather_conditions": [
- "sunny",
- "partlycloudy",
- "cloudy",
- "clear"
- ],
- "is_shading_enabled": true,
- "cover_tilt_config": "cover_tilt_disabled",
- "is_cover_tilt_enabled": false,
- "is_up_enabled": true,
- "is_down_enabled": true,
- "is_brightness_enabled": false,
- "is_sun_elevation_enabled": true,
- "is_ventilation_enabled": true,
- "is_time_field_enabled": true,
- "is_schedule_helper_enabled": false,
- "is_time_control_disabled": false,
- "reset_override_config": "reset_disabled",
- "reset_override_time": "00:01:00",
- "reset_override_timeout": 5,
- "is_reset_disabled": true,
- "is_reset_fixed_time": false,
- "is_reset_timeout": false,
- "cover_status_options": "cover_helper_enabled",
- "cover_status_helper": "input_text.cover_status_helper_ankleide",
- "version": "2025.06.19",
- "blind_entities": [
- "cover.dg_rl_ank"
- ],
- "current_position": 1,
- "current_tilt_position": 101,
- "current_sun_azimuth": 247.82,
- "current_sun_elevation": 45.41,
- "is_today_off": false,
- "is_tomorrow_off": false,
- "is_tomorrow_on": true,
- "drive_delay_fix": 90,
- "drive_delay_random": 0,
- "drive_time": 90,
- "time_up_early_today": "07:00:00",
- "time_up_late_today": "08:00:00",
- "time_down_early_today": "20:00:00",
- "time_down_late_today": "22:00:00",
- "auto_up_force": [],
- "auto_down_force": [],
- "auto_ventilate_force": [],
- "auto_shading_start_force": [],
- "auto_up_force_disabled": true,
- "auto_down_force_disabled": true,
- "auto_ventilate_force_disabled": true,
- "auto_shading_start_force_disabled": true,
- "is_cover_tilt_enabled_and_possible": false,
- "cover_tilt_reposition_config": "cover_tilt_reposition_disabled",
- "is_cover_tilt_reposition_enabled": false,
- "shading_tilt_position": 37,
- "shading_waitingtime_start": 300,
- "shading_waitingtime_end": 600,
- "is_shading_end_immediate_by_sun_position": false,
- "shading_start_behavior": "trigger_periodic",
- "shading_end_behavior": "open_position",
- "start_shading_trigger_reset": false,
- "start_shading_trigger_periodic": true,
- "is_status_helper_enabled": true,
- "helper_state_json": {
- "open": {
- "a": 1,
- "t": 1751366731
- },
- "close": {
- "a": 0,
- "t": 1751313693
- },
- "shading": {
- "a": 1,
- "t": 1751366731,
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": 0
- },
- "vfull": {
- "a": 0,
- "t": 0
- },
- "manual": {
- "a": 0,
- "t": 1751192507
- },
- "v": 5,
- "t": 1751366731
- },
- "is_helper_open": true,
- "is_helper_closed": false,
- "is_helper_shaded": true,
- "is_helper_shading_start": false,
- "is_helper_shading_end": false,
- "is_helper_vent_partial": false,
- "is_helper_vent_full": false,
- "is_helper_manual": false,
- "ts_helper_open": 1751366731,
- "ts_helper_closed": 1751313693,
- "ts_helper_shaded": 1751366731,
- "ts_helper_vent_partial": 0,
- "ts_helper_vent_full": 0,
- "ts_helper_manual": 1751192507,
- "in_open_position": false,
- "in_close_position": false,
- "in_shading_position": true,
- "in_ventilate_position": false,
- "individual_config": [],
- "prevent_higher_position_closing": false,
- "prevent_lowering_when_closing_if_shaded": false,
- "prevent_forecast_service": true,
- "prevent_shading_end_if_closed": false,
- "prevent_opening_after_shading_end": false,
- "prevent_opening_after_ventilation_end": false,
- "prevent_default_cover_actions": false,
- "prevent_shading_multiple_times": false,
- "prevent_opening_multiple_times": false,
- "prevent_closing_multiple_times": false,
- "resident_config": [],
- "resident_opening_enabled": false,
- "resident_closing_enabled": false,
- "resident_allow_shading": false,
- "resident_allow_opening": false,
- "resident_allow_ventilation": false,
- "ignore_after_manual_config": [],
- "override_opening_after_manual": false,
- "override_closing_after_manual": false,
- "override_ventilation_after_manual": false,
- "override_shading_after_manual": false,
- "auto_ventilate_options": [],
- "ventilation_delay_enabled": false,
- "ventilation_if_lower_enabled": false,
- "ventilation_after_shading_end": false,
- "check_config": false,
- "check_config_debuglevel": "info",
- "check_status_helper_length": 254
- }
- }
- ],
- "condition/0": [
- {
- "path": "condition/0",
- "timestamp": "2025-07-01T14:37:48.372331+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "condition/0/conditions/0": [
- {
- "path": "condition/0/conditions/0",
- "timestamp": "2025-07-01T14:37:48.372446+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "condition/0/conditions/0/entity_id/0": [
- {
- "path": "condition/0/conditions/0/entity_id/0",
- "timestamp": "2025-07-01T14:37:48.372529+00:00",
- "result": {
- "result": true,
- "state": "on",
- "wanted_state": "on"
- }
- }
- ],
- "condition/1": [
- {
- "path": "condition/1",
- "timestamp": "2025-07-01T14:37:48.372738+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "condition/1/conditions/0": [
- {
- "path": "condition/1/conditions/0",
- "timestamp": "2025-07-01T14:37:48.372815+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "condition/1/conditions/1": [
- {
- "path": "condition/1/conditions/1",
- "timestamp": "2025-07-01T14:37:48.373547+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/0": [
- {
- "path": "action/0",
- "timestamp": "2025-07-01T14:37:48.375276+00:00",
- "changed_variables": {
- "context": {
- "id": "01JZ36RBXWW7ZMRD7Y0P0XZ0JN",
- "parent_id": "01JZ36RAXPCTRY6KH5JRRRHY6H",
- "user_id": null
- },
- "cover_move_action": {
- "sequence": [
- {
- "repeat": {
- "for_each": [
- "cover.dg_rl_ank"
- ],
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- true,
- false
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "service": "cover.close_cover",
- "target": {
- "entity_id": ""
- }
- }
- ]
- },
- {
- "conditions": [
- true,
- false
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "service": "cover.open_cover",
- "target": {
- "entity_id": ""
- }
- }
- ]
- },
- {
- "conditions": [
- true,
- true
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "service": "cover.set_cover_position",
- "data": {
- "position": 101
- },
- "target": {
- "entity_id": ""
- }
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": 1
- }
- }
- ]
- }
- }
- ]
- },
- "tilt_move_action": {
- "sequence": [
- {
- "if": [
- true,
- false,
- false
- ],
- "then": [
- {
- "repeat": {
- "for_each": [
- "cover.dg_rl_ank"
- ],
- "sequence": [
- {
- "if": [
- false
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "service": "cover.set_cover_tilt_position",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": ""
- }
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "service": "cover.set_cover_tilt_position",
- "data": {
- "tilt_position": 101
- },
- "target": {
- "entity_id": ""
- }
- },
- {
- "delay": {
- "seconds": 2
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- "helper_update": {
- "if": [
- true
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "service": "input_text.set_value",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": {
- "open": {
- "a": 1,
- "t": 1751366731
- },
- "close": {
- "a": 0,
- "t": 1751313693
- },
- "shading": {
- "a": 1,
- "t": 1751366731,
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": 0
- },
- "vfull": {
- "a": 0,
- "t": 0
- },
- "manual": {
- "a": 0,
- "t": 1751192507
- },
- "v": 5,
- "t": 1751366731
- }
- }
- }
- ]
- }
- }
- }
- ],
- "action/1": [
- {
- "path": "action/1",
- "timestamp": "2025-07-01T14:37:48.389746+00:00"
- }
- ],
- "action/1/if": [
- {
- "path": "action/1/if",
- "timestamp": "2025-07-01T14:37:48.390468+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/1/if/condition/0": [
- {
- "path": "action/1/if/condition/0",
- "timestamp": "2025-07-01T14:37:48.391942+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/1/if/condition/1": [
- {
- "path": "action/1/if/condition/1",
- "timestamp": "2025-07-01T14:37:48.393883+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/2": [
- {
- "path": "action/2",
- "timestamp": "2025-07-01T14:37:48.396380+00:00"
- }
- ],
- "action/2/if": [
- {
- "path": "action/2/if",
- "timestamp": "2025-07-01T14:37:48.396889+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/2/if/condition/0": [
- {
- "path": "action/2/if/condition/0",
- "timestamp": "2025-07-01T14:37:48.398032+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/2/if/condition/1": [
- {
- "path": "action/2/if/condition/1",
- "timestamp": "2025-07-01T14:37:48.399966+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/2/if/condition/2": [
- {
- "path": "action/2/if/condition/2",
- "timestamp": "2025-07-01T14:37:48.401873+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/2/if/condition/2/conditions/0": [
- {
- "path": "action/2/if/condition/2/conditions/0",
- "timestamp": "2025-07-01T14:37:48.402948+00:00",
- "result": {
- "result": false,
- "entities": [
- "input_text.cover_status_helper_ankleide"
- ]
- }
- }
- ],
- "action/2/if/condition/2/conditions/1": [
- {
- "path": "action/2/if/condition/2/conditions/1",
- "timestamp": "2025-07-01T14:37:48.404991+00:00",
- "result": {
- "result": false,
- "entities": [
- "input_text.cover_status_helper_ankleide"
- ]
- }
- }
- ],
- "action/3": [
- {
- "path": "action/3",
- "timestamp": "2025-07-01T14:37:48.407545+00:00"
- }
- ],
- "action/3/if": [
- {
- "path": "action/3/if",
- "timestamp": "2025-07-01T14:37:48.408258+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/3/if/condition/0": [
- {
- "path": "action/3/if/condition/0",
- "timestamp": "2025-07-01T14:37:48.409380+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/3/if/condition/1": [
- {
- "path": "action/3/if/condition/1",
- "timestamp": "2025-07-01T14:37:48.411333+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/4": [
- {
- "path": "action/4",
- "timestamp": "2025-07-01T14:37:48.414149+00:00",
- "changed_variables": {
- "local_waitingtime_end": 600,
- "update_values": {
- "shading": {
- "a": 1,
- "t": 1751380669,
- "p": 0,
- "q": 1751381269
- },
- "t": 1751380669
- }
- },
- "result": {
- "choice": 4
- }
- }
- ],
- "action/4/choose/0": [
- {
- "path": "action/4/choose/0",
- "timestamp": "2025-07-01T14:37:48.414804+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/4/choose/0/conditions/0": [
- {
- "path": "action/4/choose/0/conditions/0",
- "timestamp": "2025-07-01T14:37:48.415890+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/0/conditions/1": [
- {
- "path": "action/4/choose/0/conditions/1",
- "timestamp": "2025-07-01T14:37:48.418443+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/0/conditions/2": [
- {
- "path": "action/4/choose/0/conditions/2",
- "timestamp": "2025-07-01T14:37:48.420531+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/4/choose/1": [
- {
- "path": "action/4/choose/1",
- "timestamp": "2025-07-01T14:37:48.422641+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/4/choose/1/conditions/0": [
- {
- "path": "action/4/choose/1/conditions/0",
- "timestamp": "2025-07-01T14:37:48.423798+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/1/conditions/1": [
- {
- "path": "action/4/choose/1/conditions/1",
- "timestamp": "2025-07-01T14:37:48.426467+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/1/conditions/2": [
- {
- "path": "action/4/choose/1/conditions/2",
- "timestamp": "2025-07-01T14:37:48.428727+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/4/choose/2": [
- {
- "path": "action/4/choose/2",
- "timestamp": "2025-07-01T14:37:48.430876+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/4/choose/2/conditions/0": [
- {
- "path": "action/4/choose/2/conditions/0",
- "timestamp": "2025-07-01T14:37:48.432020+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/2/conditions/1": [
- {
- "path": "action/4/choose/2/conditions/1",
- "timestamp": "2025-07-01T14:37:48.434188+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/2/conditions/2": [
- {
- "path": "action/4/choose/2/conditions/2",
- "timestamp": "2025-07-01T14:37:48.436339+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/4/choose/3": [
- {
- "path": "action/4/choose/3",
- "timestamp": "2025-07-01T14:37:48.439323+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/4/choose/3/conditions/0": [
- {
- "path": "action/4/choose/3/conditions/0",
- "timestamp": "2025-07-01T14:37:48.440446+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/3/conditions/1": [
- {
- "path": "action/4/choose/3/conditions/1",
- "timestamp": "2025-07-01T14:37:48.442276+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/3/conditions/2": [
- {
- "path": "action/4/choose/3/conditions/2",
- "timestamp": "2025-07-01T14:37:48.444319+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/4/choose/4": [
- {
- "path": "action/4/choose/4",
- "timestamp": "2025-07-01T14:37:48.446963+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/0",
- "timestamp": "2025-07-01T14:37:48.448237+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/1": [
- {
- "path": "action/4/choose/4/conditions/1",
- "timestamp": "2025-07-01T14:37:48.450305+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/2": [
- {
- "path": "action/4/choose/4/conditions/2",
- "timestamp": "2025-07-01T14:37:48.452349+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/3": [
- {
- "path": "action/4/choose/4/conditions/3",
- "timestamp": "2025-07-01T14:37:48.454397+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/4": [
- {
- "path": "action/4/choose/4/conditions/4",
- "timestamp": "2025-07-01T14:37:48.456445+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/5": [
- {
- "path": "action/4/choose/4/conditions/5",
- "timestamp": "2025-07-01T14:37:48.457620+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/5/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/5/conditions/0",
- "timestamp": "2025-07-01T14:37:48.458730+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/5/conditions/1": [
- {
- "path": "action/4/choose/4/conditions/5/conditions/1",
- "timestamp": "2025-07-01T14:37:48.460753+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/5/conditions/2": [
- {
- "path": "action/4/choose/4/conditions/5/conditions/2",
- "timestamp": "2025-07-01T14:37:48.462855+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/5/conditions/3": [
- {
- "path": "action/4/choose/4/conditions/5/conditions/3",
- "timestamp": "2025-07-01T14:37:48.464899+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/6": [
- {
- "path": "action/4/choose/4/conditions/6",
- "timestamp": "2025-07-01T14:37:48.466936+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/6/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/6/conditions/0",
- "timestamp": "2025-07-01T14:37:48.467981+00:00",
- "result": {
- "result": false
- }
- }
- ],
- "action/4/choose/4/conditions/6/conditions/0/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/6/conditions/0/conditions/0",
- "timestamp": "2025-07-01T14:37:48.469081+00:00",
- "result": {
- "result": false,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/6/conditions/1": [
- {
- "path": "action/4/choose/4/conditions/6/conditions/1",
- "timestamp": "2025-07-01T14:37:48.472458+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/6/conditions/1/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/6/conditions/1/conditions/0",
- "timestamp": "2025-07-01T14:37:48.473652+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/6/conditions/1/conditions/1": [
- {
- "path": "action/4/choose/4/conditions/6/conditions/1/conditions/1",
- "timestamp": "2025-07-01T14:37:48.475693+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/6/conditions/1/conditions/2": [
- {
- "path": "action/4/choose/4/conditions/6/conditions/1/conditions/2",
- "timestamp": "2025-07-01T14:37:48.477917+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/7": [
- {
- "path": "action/4/choose/4/conditions/7",
- "timestamp": "2025-07-01T14:37:48.480795+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/8": [
- {
- "path": "action/4/choose/4/conditions/8",
- "timestamp": "2025-07-01T14:37:48.482885+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/9": [
- {
- "path": "action/4/choose/4/conditions/9",
- "timestamp": "2025-07-01T14:37:48.485014+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/9/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/9/conditions/0",
- "timestamp": "2025-07-01T14:37:48.486108+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/10": [
- {
- "path": "action/4/choose/4/conditions/10",
- "timestamp": "2025-07-01T14:37:48.488161+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/10/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/10/conditions/0",
- "timestamp": "2025-07-01T14:37:48.489388+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/conditions/11": [
- {
- "path": "action/4/choose/4/conditions/11",
- "timestamp": "2025-07-01T14:37:48.491818+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/conditions/11/conditions/0": [
- {
- "path": "action/4/choose/4/conditions/11/conditions/0",
- "timestamp": "2025-07-01T14:37:48.492954+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/sequence/0": [
- {
- "path": "action/4/choose/4/sequence/0",
- "timestamp": "2025-07-01T14:37:48.495708+00:00",
- "changed_variables": {
- "local_waitingtime_end": 600,
- "update_values": {
- "shading": {
- "a": 1,
- "t": 1751380669,
- "p": 0,
- "q": 1751381269
- },
- "t": 1751380669
- }
- },
- "result": {
- "choice": 0
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0",
- "timestamp": "2025-07-01T14:37:48.497884+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/conditions/0": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/conditions/0",
- "timestamp": "2025-07-01T14:37:48.499091+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/conditions/1": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/conditions/1",
- "timestamp": "2025-07-01T14:37:48.501216+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/sequence/0": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/sequence/0",
- "timestamp": "2025-07-01T14:37:48.503874+00:00",
- "changed_variables": {
- "local_waitingtime_end": 600,
- "update_values": {
- "shading": {
- "a": 1,
- "t": 1751380669,
- "p": 0,
- "q": 1751381269
- },
- "t": 1751380669
- }
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/sequence/1": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/sequence/1",
- "timestamp": "2025-07-01T14:37:48.508132+00:00",
- "result": {
- "choice": "then"
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/sequence/1/if": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/sequence/1/if",
- "timestamp": "2025-07-01T14:37:48.509010+00:00",
- "result": {
- "result": true
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/sequence/1/if/condition/0": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/sequence/1/if/condition/0",
- "timestamp": "2025-07-01T14:37:48.510181+00:00",
- "result": {
- "result": true,
- "entities": []
- }
- }
- ],
- "action/4/choose/4/sequence/0/choose/0/sequence/1/then/0": [
- {
- "path": "action/4/choose/4/sequence/0/choose/0/sequence/1/then/0",
- "timestamp": "2025-07-01T14:37:48.512931+00:00",
- "result": {
- "params": {
- "domain": "input_text",
- "service": "set_value",
- "service_data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": {
- "open": {
- "a": 1,
- "t": 1751366731
- },
- "close": {
- "a": 0,
- "t": 1751313693
- },
- "shading": {
- "a": 1,
- "t": 1751380669,
- "p": 0,
- "q": 1751381269
- },
- "vpart": {
- "a": 0,
- "t": 0
- },
- "vfull": {
- "a": 0,
- "t": 0
- },
- "manual": {
- "a": 0,
- "t": 1751192507
- },
- "v": 5,
- "t": 1751380669
- }
- },
- "target": {}
- },
- "running_script": false
- }
- }
- ]
- },
- "config": {
- "trigger_variables": {
- "blind": "cover.dg_rl_ank",
- "open_position": 100,
- "close_position": 0,
- "ventilate_position": 99,
- "shading_position": 1,
- "position_tolerance": 0,
- "open_tilt_position": 50,
- "close_tilt_position": 50,
- "ventilate_tilt_position": 50,
- "shading_tilt_elevation_1": 20,
- "shading_tilt_elevation_2": 30,
- "shading_tilt_elevation_3": 48,
- "shading_tilt_position_0": 0,
- "shading_tilt_position_1": 20,
- "shading_tilt_position_2": 37,
- "shading_tilt_position_3": 50,
- "auto_options": [
- "auto_up_enabled",
- "auto_down_enabled",
- "auto_sun_enabled",
- "auto_shading_enabled",
- "auto_ventilate_enabled"
- ],
- "time_up_early": "07:00:00",
- "time_up_early_non_workday": "08:00:00",
- "time_up_late": "08:00:00",
- "time_up_late_non_workday": "09:00:00",
- "time_down_early": "20:00:00",
- "time_down_early_non_workday": "20:00:00",
- "time_down_late": "22:00:00",
- "time_down_late_non_workday": "22:00:00",
- "workday_sensor_today": "binary_sensor.workday_sensor",
- "workday_sensor_tomorrow": "binary_sensor.workday_sensor_tomorrow",
- "default_brightness_sensor": [],
- "brightness_up": 0,
- "brightness_down": 0,
- "default_sun_sensor": "sun.sun",
- "sun_elevation_up": 5,
- "sun_elevation_down": -6,
- "resident_sensor": [],
- "contact_window_tilted": [],
- "contact_window_opened": "binary_sensor.tfk_ank",
- "lockout_tilted_options": [
- "lockout_tilted_closing",
- "lockout_tilted_shading_start"
- ],
- "lockout_tilted_when_closing": "{{ 'lockout_tilted_closing' in lockout_tilted_options }}",
- "lockout_tilted_when_shading_starts": "{{ 'lockout_tilted_shading_start' in lockout_tilted_options }}",
- "lockout_tilted_when_shading_ends": "{{ 'lockout_tilted_shading_end' in lockout_tilted_options }}",
- "time_control": "time_control_input",
- "time_schedule_helper": [],
- "shading_brightness_sensor": "sensor.helligkeit_aussen",
- "shading_temperatur_sensor1": "sensor.dg_wt_sz_temperatur",
- "shading_temperatur_sensor2": "sensor.raspberrymatic_sv_wm_temperatur",
- "shading_min_temperatur1": 20,
- "shading_min_temperatur2": 22,
- "shading_temperature_hysteresis1": 0.2,
- "shading_temperature_hysteresis2": 0.2,
- "shading_azimuth_start": 150,
- "shading_azimuth_end": 330,
- "shading_elevation_min": 25,
- "shading_elevation_max": 90,
- "shading_sun_brightness_start": 35000,
- "shading_sun_brightness_end": 10000,
- "shading_forecast_sensor": [],
- "shading_forecast_type": "weather_attributes",
- "shading_forecast_temp": [],
- "shading_weather_conditions": [
- "sunny",
- "partlycloudy",
- "cloudy",
- "clear"
- ],
- "is_shading_enabled": "{{ 'auto_shading_enabled' in auto_options }}",
- "cover_tilt_config": "cover_tilt_disabled",
- "is_cover_tilt_enabled": "{{ 'cover_tilt_enabled' in cover_tilt_config }}",
- "is_up_enabled": "{{ 'auto_up_enabled' in auto_options }}",
- "is_down_enabled": "{{ 'auto_down_enabled' in auto_options }}",
- "is_brightness_enabled": "{{ 'auto_brightness_enabled' in auto_options }}",
- "is_sun_elevation_enabled": "{{ 'auto_sun_enabled' in auto_options }}",
- "is_ventilation_enabled": "{{ 'auto_ventilate_enabled' in auto_options }}",
- "is_time_field_enabled": "{{ 'time_control_input' in time_control }}",
- "is_schedule_helper_enabled": "{{ 'time_control_schedule' in time_control and time_schedule_helper != [] }}",
- "is_time_control_disabled": "{{ 'time_control_disabled' in time_control }}",
- "reset_override_config": "reset_disabled",
- "reset_override_time": "00:01:00",
- "reset_override_timeout": 5,
- "is_reset_disabled": "{{ 'reset_disabled' in reset_override_config }}",
- "is_reset_fixed_time": "{{ 'reset_fixed_time' in reset_override_config }}",
- "is_reset_timeout": "{{ 'reset_timeout' in reset_override_config }}",
- "cover_status_options": "cover_helper_enabled",
- "cover_status_helper": "input_text.cover_status_helper_ankleide"
- },
- "variables": {
- "version": "2025.06.19",
- "blind_entities": "{{ expand(blind) | map(attribute='entity_id') | list }}",
- "current_position": "{{ state_attr(blind, 'current_position') | int(default=101) }}",
- "current_tilt_position": "{{ state_attr(blind,'current_tilt_position') | int(default=101) }}",
- "current_sun_azimuth": "{{ state_attr(default_sun_sensor, 'azimuth') }}",
- "current_sun_elevation": "{{ state_attr(default_sun_sensor, 'elevation') }}",
- "is_today_off": "{{ workday_sensor_today != [] and is_state(workday_sensor_today, 'off') }}",
- "is_tomorrow_off": "{{ workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') }}",
- "is_tomorrow_on": "{{ workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') }}",
- "drive_delay_fix": 90,
- "drive_delay_random": 0,
- "drive_time": 90,
- "time_up_early_today": "{{ time_up_early_non_workday if is_today_off else time_up_early }}",
- "time_up_late_today": "{{ time_up_late_non_workday if is_today_off else time_up_late }}",
- "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}}",
- "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}}",
- "auto_up_force": [],
- "auto_down_force": [],
- "auto_ventilate_force": [],
- "auto_shading_start_force": [],
- "auto_up_force_disabled": "{{ auto_up_force == [] or (auto_up_force != [] and states(auto_up_force) in ['false', 'off']) }}",
- "auto_down_force_disabled": "{{ auto_down_force == [] or (auto_down_force != [] and states(auto_down_force) in ['false', 'off']) }}",
- "auto_ventilate_force_disabled": "{{ auto_ventilate_force == [] or (auto_ventilate_force != [] and states(auto_ventilate_force) in ['false', 'off']) }}",
- "auto_shading_start_force_disabled": "{{ auto_shading_start_force == [] or (auto_shading_start_force != [] and states(auto_shading_start_force) in ['false', 'off']) }}",
- "is_cover_tilt_enabled_and_possible": "{{ is_cover_tilt_enabled and state_attr(blind, 'current_tilt_position') != none }}",
- "cover_tilt_reposition_config": "cover_tilt_reposition_disabled",
- "is_cover_tilt_reposition_enabled": "{{ 'cover_tilt_reposition_enabled' in cover_tilt_reposition_config }}",
- "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 %}",
- "shading_waitingtime_start": 300,
- "shading_waitingtime_end": 600,
- "is_shading_end_immediate_by_sun_position": false,
- "shading_start_behavior": "trigger_periodic",
- "shading_end_behavior": "open_position",
- "start_shading_trigger_reset": "{{ 'trigger_reset' in shading_start_behavior }}",
- "start_shading_trigger_periodic": "{{ 'trigger_periodic' in shading_start_behavior }}",
- "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}}",
- "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",
- "is_helper_open": "{{ is_status_helper_enabled and (helper_state_json | regex_search('open')) and (helper_state_json.open.a | default(false) | bool) }}",
- "is_helper_closed": "{{ is_status_helper_enabled and (helper_state_json | regex_search('close')) and (helper_state_json.close.a | default(false) | bool) }}",
- "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}}",
- "is_helper_shading_start": "{{ is_status_helper_enabled and (helper_state_json | regex_search('shading')) and (helper_state_json.shading.p | default(false) | bool) }}",
- "is_helper_shading_end": "{{ is_status_helper_enabled and (helper_state_json | regex_search('shading')) and (helper_state_json.shading.q | default(false) | bool) }}",
- "is_helper_vent_partial": "{{ is_status_helper_enabled and (helper_state_json | regex_search('vpart')) and (helper_state_json.vpart.a | default(false) | bool) }}",
- "is_helper_vent_full": "{{ is_status_helper_enabled and (helper_state_json | regex_search('vfull')) and (helper_state_json.vfull.a | default(false) | bool) }}",
- "is_helper_manual": "{{ is_status_helper_enabled and (helper_state_json | regex_search('manual')) and (helper_state_json.manual.a | default(false) | bool) }}",
- "ts_helper_open": "{{ helper_state_json.open.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('open'))) else 0 }}",
- "ts_helper_closed": "{{ helper_state_json.close.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('close'))) else 0 }}",
- "ts_helper_shaded": "{{ helper_state_json.shading.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('shading'))) else 0 }}",
- "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 }}",
- "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 }}",
- "ts_helper_manual": "{{ helper_state_json.manual.t | default(0) if (is_status_helper_enabled and (helper_state_json | regex_search('manual'))) else 0 }}",
- "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}}",
- "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}}",
- "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}}",
- "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}}",
- "individual_config": [],
- "prevent_higher_position_closing": "{{ 'prevent_higher_position_closing' in individual_config }}",
- "prevent_lowering_when_closing_if_shaded": "{{ 'prevent_lowering_when_closing_if_shaded' in individual_config }}",
- "prevent_forecast_service": "{{ 'weather_attributes' in shading_forecast_type }}",
- "prevent_shading_end_if_closed": "{{ 'prevent_shading_end_if_closed' in individual_config }}",
- "prevent_opening_after_shading_end": "{{ 'prevent_opening_after_shading_end' in individual_config }}",
- "prevent_opening_after_ventilation_end": "{{ 'prevent_opening_after_ventilation_end' in individual_config }}",
- "prevent_default_cover_actions": "{{ 'prevent_default_cover_actions' in individual_config }}",
- "prevent_shading_multiple_times": "{{ 'prevent_shading_multiple_times' in individual_config }}",
- "prevent_opening_multiple_times": "{{ 'prevent_opening_multiple_times' in individual_config }}",
- "prevent_closing_multiple_times": "{{ 'prevent_closing_multiple_times' in individual_config }}",
- "resident_config": [],
- "resident_opening_enabled": "{{ 'resident_opening_enabled' in resident_config }}",
- "resident_closing_enabled": "{{ 'resident_closing_enabled' in resident_config }}",
- "resident_allow_shading": "{{ 'resident_allow_shading' in resident_config }}",
- "resident_allow_opening": "{{ 'resident_allow_opening' in resident_config }}",
- "resident_allow_ventilation": "{{ 'resident_allow_ventilation' in resident_config }}",
- "ignore_after_manual_config": [],
- "override_opening_after_manual": "{{ 'ignore_opening_after_manual' in ignore_after_manual_config }}",
- "override_closing_after_manual": "{{ 'ignore_closing_after_manual' in ignore_after_manual_config }}",
- "override_ventilation_after_manual": "{{ 'ignore_ventilation_after_manual' in ignore_after_manual_config }}",
- "override_shading_after_manual": "{{ 'ignore_shading_after_manual' in ignore_after_manual_config }}",
- "auto_ventilate_options": [],
- "ventilation_delay_enabled": "{{ 'ventilation_delay_enabled' in auto_ventilate_options }}",
- "ventilation_if_lower_enabled": "{{ 'ventilation_if_lower_enabled' in auto_ventilate_options }}",
- "ventilation_after_shading_end": "{{ 'ventilation_after_shading_end' in auto_ventilate_options }}",
- "check_config": false,
- "check_config_debuglevel": "info",
- "check_status_helper_length": "{{ state_attr(cover_status_helper, 'max') if is_status_helper_enabled else None }}"
- },
- "mode": "single",
- "max_exceeded": "silent",
- "triggers": [
- {
- "platform": "template",
- "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) }}",
- "enabled": "{{ is_time_field_enabled }}",
- "id": "t_open_1"
- },
- {
- "platform": "template",
- "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) }}",
- "enabled": "{{ is_time_field_enabled }}",
- "id": "t_open_2"
- },
- {
- "platform": "template",
- "value_template": "{{ states(time_schedule_helper) in ['true', 'on'] }}",
- "enabled": "{{ is_schedule_helper_enabled and time_schedule_helper != [] }}",
- "id": "t_open_3"
- },
- {
- "platform": "template",
- "value_template": "{{ states(default_brightness_sensor) | float(default=brightness_up) > brightness_up }}",
- "for": {
- "seconds": 30
- },
- "enabled": "{{ is_brightness_enabled and default_brightness_sensor != [] }}",
- "id": "t_open_4"
- },
- {
- "platform": "template",
- "value_template": "{{ state_attr(default_sun_sensor, 'elevation') | float(default=sun_elevation_up) > sun_elevation_up }}",
- "for": {
- "seconds": 30
- },
- "enabled": "{{ is_sun_elevation_enabled and default_sun_sensor != [] }}",
- "id": "t_open_5"
- },
- {
- "platform": "state",
- "entity_id": [],
- "from": "on",
- "to": "off",
- "id": "t_open_6"
- },
- {
- "platform": "state",
- "entity_id": [],
- "from": "off",
- "to": "on",
- "id": "t_force_open"
- },
- {
- "platform": "template",
- "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) }}",
- "enabled": "{{ is_time_field_enabled }}",
- "id": "t_close_1"
- },
- {
- "platform": "template",
- "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) }}",
- "enabled": "{{ is_time_field_enabled }}",
- "id": "t_close_2"
- },
- {
- "platform": "template",
- "value_template": "{{ states(time_schedule_helper) in ['false', 'off'] }}",
- "enabled": "{{ is_schedule_helper_enabled and time_schedule_helper != [] }}",
- "id": "t_close_3"
- },
- {
- "platform": "template",
- "value_template": "{{ states(default_brightness_sensor) | float(default=brightness_down) < brightness_down }}",
- "for": {
- "seconds": 30
- },
- "enabled": "{{ is_brightness_enabled and default_brightness_sensor != [] }}",
- "id": "t_close_4"
- },
- {
- "platform": "template",
- "value_template": "{{ state_attr(default_sun_sensor, 'elevation') | float(default=sun_elevation_down) < sun_elevation_down }}",
- "for": {
- "seconds": 30
- },
- "enabled": "{{ is_sun_elevation_enabled and default_sun_sensor != [] }}",
- "id": "t_close_5"
- },
- {
- "platform": "state",
- "entity_id": [],
- "from": "off",
- "to": "on",
- "id": "t_close_6"
- },
- {
- "platform": "state",
- "entity_id": [],
- "from": "off",
- "to": "on",
- "id": "t_force_close"
- },
- {
- "platform": "template",
- "value_template": "{{ states(contact_window_tilted) in ['true', 'on'] }}",
- "enabled": "{{ is_ventilation_enabled and contact_window_tilted != [] }}",
- "id": "t_contact_tilted_on",
- "for": {
- "seconds": 0
- }
- },
- {
- "platform": "template",
- "value_template": "{{ states(contact_window_tilted) in ['false', 'off'] }}",
- "enabled": "{{ is_ventilation_enabled and contact_window_tilted != [] }}",
- "id": "t_contact_tilted_off",
- "for": {
- "seconds": 0
- }
- },
- {
- "platform": "template",
- "value_template": "{{ states(contact_window_opened) in ['true', 'on'] }}",
- "enabled": "{{ is_ventilation_enabled and contact_window_opened != [] }}",
- "id": "t_contact_opened_on",
- "for": {
- "seconds": 0
- }
- },
- {
- "platform": "template",
- "value_template": "{{ states(contact_window_opened) in ['false', 'off'] }}",
- "enabled": "{{ is_ventilation_enabled and contact_window_opened != [] }}",
- "id": "t_contact_opened_off",
- "for": {
- "seconds": 0
- }
- },
- {
- "platform": "state",
- "entity_id": [],
- "from": "off",
- "to": "on",
- "id": "t_force_vent"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and default_sun_sensor != [] }}",
- "id": "t_shading_start_pending_1"
- },
- {
- "platform": "template",
- "value_template": "{{ states(shading_brightness_sensor) | float(default=shading_sun_brightness_start) > shading_sun_brightness_start }}",
- "enabled": "{{ is_shading_enabled and shading_brightness_sensor != [] }}",
- "id": "t_shading_start_pending_2"
- },
- {
- "platform": "template",
- "value_template": "{{ states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) > shading_min_temperatur1 }}",
- "enabled": "{{ is_shading_enabled and shading_temperatur_sensor1 != [] }}",
- "id": "t_shading_start_pending_3"
- },
- {
- "platform": "template",
- "value_template": "{{ states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) > shading_min_temperatur2 }}",
- "enabled": "{{ is_shading_enabled and shading_temperatur_sensor2 != [] }}",
- "id": "t_shading_start_pending_4"
- },
- {
- "platform": "template",
- "value_template": "{{ states(shading_forecast_sensor) in shading_weather_conditions }}",
- "enabled": "{{ is_shading_enabled and shading_forecast_sensor != [] }}",
- "id": "t_shading_start_pending_5"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] }}",
- "id": "t_shading_start_execution"
- },
- {
- "platform": "state",
- "entity_id": [],
- "from": "off",
- "to": "on",
- "id": "t_force_shading_start"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
- "id": "t_shading_tilt_1"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
- "id": "t_shading_tilt_2"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
- "id": "t_shading_tilt_3"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
- "id": "t_shading_tilt_4"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_temperatur_sensor1 != [] }}",
- "id": "t_shading_end_pending_1"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_temperatur_sensor2 != [] }}",
- "id": "t_shading_end_pending_2"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_brightness_sensor != [] }}",
- "id": "t_shading_end_pending_3"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_weather_conditions != [] and shading_forecast_sensor != [] }}",
- "id": "t_shading_end_pending_4"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] and default_sun_sensor != [] }}",
- "id": "t_shading_end_pending_5"
- },
- {
- "platform": "template",
- "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}}",
- "enabled": "{{ is_shading_enabled and cover_status_helper != [] }}",
- "id": "t_shading_end_execution"
- },
- {
- "platform": "template",
- "value_template": "{{ now() >= today_at('23:55:00') }}",
- "id": "t_shading_reset",
- "enabled": "{{ is_shading_enabled }}"
- },
- {
- "platform": "state",
- "entity_id": "cover.dg_rl_ank",
- "attribute": "current_position",
- "id": "t_manual_1",
- "for": "00:01:00"
- },
- {
- "platform": "template",
- "value_template": "{{ now() >= today_at(reset_override_time) }}",
- "enabled": "{{ is_reset_fixed_time }}",
- "id": "t_manual_2",
- "for": "00:00:02"
- },
- {
- "platform": "template",
- "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 }}",
- "enabled": "{{ is_reset_timeout and cover_status_helper != [] }}",
- "id": "t_manual_3",
- "for": "00:00:02"
- },
- {
- "platform": "state",
- "entity_id": "cover.dg_rl_ank",
- "attribute": "current_tilt_position",
- "id": "t_manual_4",
- "for": "00:01:00"
- }
- ],
- "conditions": [
- {
- "condition": [
- {
- "condition": "state",
- "entity_id": "input_boolean.rollo_automatik",
- "state": "on"
- }
- ]
- },
- {
- "or": [
- "{{ trigger.to_state is not defined }}",
- "{{ trigger.to_state is defined and trigger.to_state.state not in ['unavailable', 'unknown','none', 'query failed'] }}"
- ]
- }
- ],
- "actions": [
- {
- "variables": {
- "cover_move_action": {
- "sequence": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 0 }}"
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "service": "cover.close_cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- }
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 100 }}"
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "service": "cover.open_cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- }
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) not in [0, 100] }}"
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "service": "cover.set_cover_position",
- "data": {
- "position": "{{ target_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- }
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- },
- "tilt_move_action": {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "service": "cover.set_cover_tilt_position",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- }
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "service": "cover.set_cover_tilt_position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- }
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- "helper_update": {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "service": "input_text.set_value",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- }
- }
- ]
- }
- }
- },
- {
- "if": [
- "{{ is_shading_enabled }}",
- "{{ not prevent_forecast_service }}",
- "{{ (shading_forecast_sensor != [] ) }}",
- "{{ states(shading_forecast_sensor) not in ['unavailable', 'unknown', 'query failed'] }}",
- "{{ trigger.id is defined }}",
- "{{ trigger.id | regex_match('^(t_shading_start|t_open_1|t_open_3)') }}",
- "{{ shading_forecast_sensor.startswith('weather.') }}"
- ],
- "then": [
- {
- "action": "weather.get_forecasts",
- "target": {
- "entity_id": []
- },
- "data": {
- "type": "weather_attributes"
- },
- "response_variable": "weather_forecast"
- }
- ]
- },
- {
- "if": [
- "{{ 'cover_helper_enabled' in cover_status_options }}",
- "{{ cover_status_helper != [] }}",
- {
- "or": [
- "{{ states(cover_status_helper) in ['', 'unknown', 'unavailable', 'none'] }}",
- "{{ not states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") }}"
- ]
- }
- ],
- "then": [
- {
- "action": "input_text.set_value",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{{ helper_state_json | to_json }}"
- }
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}",
- "{{ helper_state_json.v != 5 }}"
- ],
- "then": [
- {
- "variables": {
- "update_values": {
- "open": {
- "a": "{{ is_helper_open|int }}",
- "t": "{{ ts_helper_open }}"
- },
- "close": {
- "a": "{{ is_helper_closed|int }}",
- "t": "{{ ts_helper_closed }}"
- },
- "shading": {
- "a": "{{ is_helper_shaded|int }}",
- "t": "{{ ts_helper_shaded }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": "{{ is_helper_vent_partial|int }}",
- "t": "{{ ts_helper_vent_partial }}"
- },
- "vfull": {
- "a": "{{ is_helper_vent_full|int }}",
- "t": "{{ ts_helper_vent_full }}"
- },
- "manual": {
- "a": "{{ is_helper_manual|int }}",
- "t": "{{ ts_helper_manual }}"
- },
- "v": 5,
- "t": "{{ helper_state_json.t | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- },
- {
- "choose": [
- {
- "alias": "Check for opening",
- "conditions": [
- "{{ is_up_enabled }}",
- "{{ trigger.id is defined }}",
- "{{ trigger.id | regex_match('^(t_open)') }}",
- {
- "condition": []
- },
- {
- "and": [
- "{{ auto_down_force_disabled }}",
- "{{ auto_ventilate_force_disabled }}",
- "{{ auto_shading_start_force_disabled }}"
- ]
- },
- "{{ not (is_status_helper_enabled and is_helper_manual and override_opening_after_manual) }}",
- {
- "or": [
- "{{ not is_status_helper_enabled }}",
- "{{ not prevent_opening_multiple_times }}",
- "{{ is_status_helper_enabled and prevent_opening_multiple_times and (now().day != ts_helper_open|timestamp_custom('%-d')|int) }}"
- ]
- },
- {
- "or": [
- "{{ trigger.id != 't_open_6' }}",
- "{{ trigger.id == 't_open_6' and resident_opening_enabled }}"
- ]
- },
- {
- "or": [
- "{{ resident_sensor == [] }}",
- "{{ states(resident_sensor) in ['false', 'off'] }}",
- {
- "and": [
- "{{ resident_allow_opening }}",
- "{{ states(resident_sensor) in ['true', 'on'] }}"
- ]
- }
- ]
- },
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_up_late_today) }}",
- "{{ now() <= today_at(time_down_late_today) - timedelta(seconds = 5) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ not is_brightness_enabled }}",
- "{{ not is_sun_elevation_enabled }}",
- "{{ is_state(time_schedule_helper, 'on') }}",
- "{{ trigger.id in ['t_open_3', 't_open_6'] }}"
- ]
- },
- {
- "and": [
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_up_early_today) }}",
- "{{ now() <= today_at(time_up_late_today) + timedelta(seconds = 5) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ is_state(time_schedule_helper, 'on') }}",
- "{{ now() >= today_at([time_up_early, time_up_early_non_workday] | min) - timedelta(seconds = 5) }}",
- "{{ now() <= today_at([time_up_late, time_up_late_non_workday] | max) + timedelta(seconds = 5) }}"
- ]
- }
- ]
- },
- {
- "or": [
- {
- "or": [
- "{{ is_brightness_enabled and default_brightness_sensor == [] }}",
- "{{ is_brightness_enabled and default_brightness_sensor != [] and (states(default_brightness_sensor) | float(default=brightness_up) > brightness_up) }}"
- ]
- },
- {
- "or": [
- "{{ is_sun_elevation_enabled and default_sun_sensor == [] }}",
- "{{ is_sun_elevation_enabled and default_sun_sensor != [] and (current_sun_elevation | float(default=sun_elevation_up) > sun_elevation_up) }}"
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "delay": {
- "seconds": "{{ range(drive_delay_fix|int(0), drive_delay_fix|int(0) + drive_delay_random|int(0) +1) | random }}"
- }
- },
- {
- "choose": [
- {
- "alias": "Shading detected. Move to shading position",
- "conditions": [
- "{{ is_status_helper_enabled }}",
- "{{ is_helper_shaded }}",
- "{{ not in_shading_position }}"
- ],
- "sequence": [
- {
- "choose": [],
- "default": []
- },
- {
- "variables": {
- "target_position": 1,
- "target_tilt_position": "{{ shading_tilt_position | int }}",
- "update_values": {
- "open": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "close": {
- "a": 0,
- "t": "{{ helper_state_json.close.t }}"
- },
- "shading": {
- "a": 1,
- "t": "{{ helper_state_json.shading.t }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 0,
- "t": "{{ helper_state_json.vfull.t }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "sequence": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 0 }}"
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.close_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 100 }}"
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.open_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) not in [0, 100] }}"
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "data": {
- "position": "{{ target_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_position"
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- },
- {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- },
- {
- "choose": [],
- "default": []
- }
- ]
- },
- {
- "alias": "Normal opening of the cover",
- "conditions": [
- "{{ not in_shading_position }}",
- {
- "or": [
- "{{ is_status_helper_enabled and not is_helper_open }}",
- "{{ not in_open_position }}"
- ]
- }
- ],
- "sequence": [
- {
- "choose": [],
- "default": []
- },
- {
- "variables": {
- "target_position": 100,
- "target_tilt_position": "{{ open_tilt_position | int }}",
- "update_values": {
- "open": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "close": {
- "a": 0,
- "t": "{{ helper_state_json.close.t }}"
- },
- "shading": {
- "a": 0,
- "t": "{{ helper_state_json.shading.t }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 0,
- "t": "{{ helper_state_json.vfull.t }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "sequence": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 0 }}"
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.close_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 100 }}"
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.open_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) not in [0, 100] }}"
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "data": {
- "position": "{{ target_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_position"
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- },
- {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- },
- {
- "choose": [],
- "default": []
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "alias": "Check for closing cover",
- "conditions": [
- "{{ is_down_enabled }}",
- "{{ trigger.id is defined }}",
- "{{ trigger.id | regex_match('^(t_close)') }}",
- {
- "condition": []
- },
- {
- "and": [
- "{{ auto_up_force_disabled }}",
- "{{ auto_ventilate_force_disabled }}",
- "{{ auto_shading_start_force_disabled }}"
- ]
- },
- {
- "or": [
- "{{ is_status_helper_enabled and not is_helper_closed }}",
- "{{ not in_close_position }}"
- ]
- },
- "{{ not (is_status_helper_enabled and is_helper_manual and override_closing_after_manual) }}",
- {
- "or": [
- "{{ not is_status_helper_enabled }}",
- "{{ not prevent_closing_multiple_times }}",
- "{{ is_status_helper_enabled and prevent_closing_multiple_times and (ts_helper_closed < today_at(time_down_early_today) | as_timestamp) }}"
- ]
- },
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_down_late_today) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ is_state(time_schedule_helper, 'off') }}",
- "{{ trigger.id == 't_close_3' }}"
- ]
- },
- {
- "and": [
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_down_early_today) }}",
- "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ is_state(time_schedule_helper, 'on') }}",
- "{{ now() >= today_at([time_down_early, time_down_early_non_workday] | min) - timedelta(seconds = 5) }}",
- "{{ now() <= today_at([time_down_late, time_down_late_non_workday] | max) + timedelta(seconds = 5) }}"
- ]
- }
- ]
- },
- {
- "or": [
- {
- "or": [
- "{{ is_brightness_enabled and default_brightness_sensor == [] }}",
- "{{ is_brightness_enabled and default_brightness_sensor != [] and (states(default_brightness_sensor) | float(default=brightness_down) < brightness_down) }}"
- ]
- },
- {
- "or": [
- "{{ is_sun_elevation_enabled and default_sun_sensor == [] }}",
- "{{ is_sun_elevation_enabled and default_sun_sensor != [] and (current_sun_elevation | float(default=sun_elevation_down) < sun_elevation_down) }}"
- ]
- }
- ]
- }
- ]
- },
- {
- "and": [
- "{{ trigger.id == 't_close_6' }}",
- "{{ resident_sensor != [] }}",
- "{{ states(resident_sensor) in ['true', 'on'] }}",
- "{{ resident_closing_enabled }}"
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "choose": [
- {
- "alias": "Lockout protection when closing",
- "conditions": [
- "{{ is_ventilation_enabled }}",
- "{{ is_status_helper_enabled }}",
- {
- "or": [
- {
- "and": [
- "{{ contact_window_opened != [] }}",
- "{{ states(contact_window_opened) in ['true', 'on'] }}"
- ]
- },
- {
- "and": [
- "{{ lockout_tilted_when_closing }}",
- "{{ contact_window_tilted != [] }}",
- "{{ states(contact_window_tilted) in ['true', 'on'] }}"
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "open": {
- "a": 0,
- "t": "{{ helper_state_json.open.t }}"
- },
- "close": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "shading": {
- "a": 0,
- "t": "{{ helper_state_json.shading.t }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- },
- {
- "alias": "Window tilted. No lockout. Move to ventilation position instead of closing",
- "conditions": [
- "{{ is_ventilation_enabled }}",
- "{{ is_status_helper_enabled }}",
- "{{ contact_window_tilted != [] }}",
- "{{ states(contact_window_tilted) in ['true', 'on'] }}",
- "{{ not lockout_tilted_when_closing }}",
- {
- "or": [
- "{{ contact_window_opened == [] }}",
- "{{ states(contact_window_opened) in ['false', 'off'] }}"
- ]
- }
- ],
- "sequence": [
- {
- "choose": [],
- "default": []
- },
- {
- "delay": {
- "seconds": "{{ range(drive_delay_fix|int(0), drive_delay_fix|int(0) + drive_delay_random|int(0) +1) | random }}"
- }
- },
- {
- "variables": {
- "target_position": 99,
- "target_tilt_position": 50,
- "update_values": {
- "open": {
- "a": 0,
- "t": "{{ helper_state_json.open.t }}"
- },
- "close": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "shading": {
- "a": 0,
- "t": "{{ helper_state_json.shading.t }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "vfull": {
- "a": 0,
- "t": "{{ helper_state_json.vfull.t }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "sequence": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 0 }}"
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.close_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 100 }}"
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.open_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) not in [0, 100] }}"
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "data": {
- "position": "{{ target_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_position"
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- },
- {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- },
- {
- "choose": [],
- "default": []
- }
- ]
- },
- {
- "alias": "Only status change if cover is already 'near' the close position",
- "conditions": [
- {
- "or": [
- {
- "and": [
- "{{ is_status_helper_enabled }}",
- "{{ prevent_lowering_when_closing_if_shaded }}",
- "{{ is_helper_shaded }}",
- "{{ close_position > shading_position }}"
- ]
- },
- {
- "and": [
- "{{ prevent_lowering_when_closing_if_shaded }}",
- "{{ in_shading_position }}",
- "{{ close_position > shading_position }}"
- ]
- },
- {
- "and": [
- "{{ prevent_higher_position_closing }}",
- "{{ (current_position <= close_position) }}"
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "open": {
- "a": 0,
- "t": "{{ helper_state_json.open.t }}"
- },
- "close": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "shading": {
- "a": 0,
- "t": "{{ helper_state_json.shading.t }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 0,
- "t": "{{ helper_state_json.vfull.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- }
- ],
- "default": [
- {
- "choose": [],
- "default": []
- },
- {
- "alias": "Normal closing of the cover",
- "delay": {
- "seconds": "{{ range(drive_delay_fix|int(0), drive_delay_fix|int(0) + drive_delay_random|int(0) +1) | random }}"
- }
- },
- {
- "variables": {
- "target_position": 0,
- "target_tilt_position": 50,
- "update_values": {
- "open": {
- "a": 0,
- "t": "{{ helper_state_json.open.t }}"
- },
- "close": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "shading": {
- "a": 0,
- "t": "{{ helper_state_json.shading.t }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 0,
- "t": "{{ helper_state_json.vfull.t }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "sequence": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 0 }}"
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.close_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 100 }}"
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.open_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) not in [0, 100] }}"
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "data": {
- "position": "{{ target_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_position"
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- },
- {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- },
- {
- "choose": [],
- "default": []
- }
- ]
- }
- ]
- },
- {
- "alias": "Check for shading start",
- "conditions": [
- "{{ is_shading_enabled }}",
- "{{ trigger.id is defined }}",
- "{{ trigger.id | regex_match('^(t_shading_start|t_open_1|t_open_3)') }}",
- "{{ is_status_helper_enabled }}",
- {
- "condition": []
- },
- {
- "and": [
- "{{ auto_up_force_disabled }}",
- "{{ auto_down_force_disabled }}",
- "{{ auto_ventilate_force_disabled }}"
- ]
- },
- {
- "or": [
- "{{ not is_helper_shaded }}",
- "{{ not (is_helper_vent_partial or is_helper_vent_full) }}"
- ]
- },
- {
- "or": [
- {
- "and": [
- "{{ not is_cover_tilt_enabled_and_possible }}",
- "{{ not in_shading_position }}"
- ]
- },
- {
- "and": [
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ current_position >= shading_position }}"
- ]
- }
- ]
- },
- "{{ not (is_helper_manual and override_shading_after_manual) }}",
- {
- "or": [
- "{{ not prevent_shading_multiple_times }}",
- "{{ prevent_shading_multiple_times and (now().day != ts_helper_shaded|timestamp_custom('%-d') | int) }}",
- "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}"
- ]
- }
- ],
- "sequence": [
- {
- "if": [
- "{{ current_sun_azimuth > shading_azimuth_start and current_sun_azimuth < shading_azimuth_end }}",
- "{{ current_sun_elevation > shading_elevation_min and current_sun_elevation < shading_elevation_max }}",
- {
- "or": [
- "{{ shading_brightness_sensor == [] }}",
- "{{ states(shading_brightness_sensor) | float(default=shading_sun_brightness_start) > shading_sun_brightness_start }}"
- ]
- },
- {
- "or": [
- "{{ shading_temperatur_sensor1 == [] }}",
- "{{ states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) > shading_min_temperatur1 }}"
- ]
- },
- {
- "or": [
- "{{ shading_temperatur_sensor2 == [] }}",
- "{{ states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) > shading_min_temperatur2 }}"
- ]
- },
- {
- "or": [
- "{{ shading_forecast_sensor == [] }}",
- "{{ shading_forecast_temp == [] }}",
- {
- "and": [
- "{{ shading_forecast_sensor.startswith('sensor.') }}",
- "{{ states(shading_forecast_sensor) | float(default=shading_forecast_temp - 1) > shading_forecast_temp }}"
- ]
- },
- {
- "and": [
- "{{ shading_forecast_sensor.startswith('weather.') }}",
- "{{ prevent_forecast_service }}",
- "{{ state_attr(shading_forecast_sensor, 'temperature') | float(default=shading_forecast_temp - 1) > shading_forecast_temp }}"
- ]
- },
- {
- "and": [
- "{{ shading_forecast_sensor.startswith('weather.') }}",
- "{{ not prevent_forecast_service }}",
- "{{ weather_forecast is defined }}",
- "{{ weather_forecast[shading_forecast_sensor].forecast[0].temperature | float(default=shading_forecast_temp - 1) > shading_forecast_temp }}"
- ]
- },
- "{{ (shading_temperatur_sensor2 != [] ) and (states(shading_temperatur_sensor2) | float(default=shading_forecast_temp) > shading_forecast_temp) }}"
- ]
- },
- {
- "or": [
- "{{ shading_forecast_sensor == [] }}",
- "{{ shading_weather_conditions == [] }}",
- "{{ shading_forecast_sensor.startswith('sensor.') }}",
- {
- "and": [
- "{{ shading_forecast_sensor.startswith('weather.') }}",
- "{{ prevent_forecast_service }}",
- "{{ states(shading_forecast_sensor) in shading_weather_conditions }}"
- ]
- },
- {
- "and": [
- "{{ shading_forecast_sensor.startswith('weather.') }}",
- "{{ not prevent_forecast_service }}",
- "{{ weather_forecast is defined }}",
- "{{ weather_forecast[shading_forecast_sensor].forecast[0].condition in shading_weather_conditions }}"
- ]
- }
- ]
- }
- ],
- "then": [
- {
- "choose": [
- {
- "alias": "Shading detected. Save next execution time and pending status",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_start_pending)') }}",
- "{{ not is_helper_shading_start }}"
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "shading": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}",
- "p": "{{ (as_timestamp(now()) | round(0) + (shading_waitingtime_start | int)) | round(0) }}",
- "q": 0
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- },
- {
- "alias": "Consider lockout protection when shading starts",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
- "{{ is_helper_shading_start }}",
- "{{ is_ventilation_enabled }}",
- {
- "or": [
- {
- "and": [
- "{{ contact_window_opened != [] }}",
- "{{ states(contact_window_opened) in ['true', 'on'] }}"
- ]
- },
- {
- "and": [
- "{{ lockout_tilted_when_shading_starts }}",
- "{{ contact_window_tilted != [] }}",
- "{{ states(contact_window_tilted) in ['true', 'on'] }}"
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "open": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "close": {
- "a": 0,
- "t": "{{ helper_state_json.close.t }}"
- },
- "shading": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- },
- {
- "alias": "Start Shading",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
- "{{ is_helper_shading_start }}",
- {
- "or": [
- {
- "and": [
- "{{ not is_cover_tilt_enabled_and_possible }}",
- "{{ current_position > shading_position }}"
- ]
- },
- {
- "and": [
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ current_position >= shading_position }}"
- ]
- }
- ]
- },
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_up_early_today) }}",
- "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ is_state(time_schedule_helper, 'on') }}"
- ]
- }
- ]
- },
- {
- "or": [
- "{{ resident_sensor == [] }}",
- "{{ states(resident_sensor) in ['false', 'off'] }}",
- {
- "and": [
- "{{ resident_allow_shading }}",
- "{{ states(resident_sensor) in ['true', 'on'] }}"
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "delay": {
- "seconds": "{{ range(drive_delay_fix | int(0), drive_delay_fix | int(0) + drive_delay_random | int(0) +1) | random }}"
- }
- },
- {
- "choose": [],
- "default": []
- },
- {
- "variables": {
- "target_position": 1,
- "target_tilt_position": "{{ shading_tilt_position | int }}",
- "update_values": {
- "open": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}"
- },
- "close": {
- "a": 0,
- "t": "{{ helper_state_json.close.t }}"
- },
- "shading": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}",
- "p": 0,
- "q": 0
- },
- "vpart": {
- "a": 0,
- "t": "{{ helper_state_json.vpart.t }}"
- },
- "vfull": {
- "a": 0,
- "t": "{{ helper_state_json.vfull.t }}"
- },
- "manual": {
- "a": 0,
- "t": "{{ helper_state_json.manual.t }}"
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "sequence": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "choose": [
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 0 }}"
- ],
- "sequence": [
- {
- "alias": "Close Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.close_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) == 100 }}"
- ],
- "sequence": [
- {
- "alias": "Open Cover",
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.open_cover"
- }
- ]
- },
- {
- "conditions": [
- "{{ not prevent_default_cover_actions }}",
- "{{ target_position | default(101) not in [0, 100] }}"
- ],
- "sequence": [
- {
- "alias": "Moving the cover to target position",
- "data": {
- "position": "{{ target_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_position"
- }
- ]
- }
- ]
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- },
- {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- },
- {
- "choose": [],
- "default": []
- }
- ]
- },
- {
- "alias": "Save shading state for the future",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
- "{{ is_helper_shading_start }}",
- "{{ is_helper_closed }}"
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "shading": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}",
- "p": 0,
- "q": 0
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- }
- ]
- }
- ],
- "else": [
- {
- "choose": [
- {
- "alias": "Shading conditions were not met consistently and it should be checked again periodically in a few seconds",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
- "{{ is_helper_shading_start }}",
- "{{ start_shading_trigger_periodic }}",
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}",
- "{{ is_helper_open }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_up_early_today) }}",
- "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ is_state(time_schedule_helper, 'on') }}"
- ]
- }
- ]
- }
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "shading": {
- "a": 1,
- "t": "{{ as_timestamp(now()) | round(0) }}",
- "p": "{{ (as_timestamp(now()) | round(0) + (shading_waitingtime_start | int)) | round(0) }}",
- "q": 0
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- },
- {
- "alias": "Shading conditions were not consistently met and the next new trigger should be waited for",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_start_execution)') }}",
- "{{ is_helper_shading_start }}",
- "{{ start_shading_trigger_reset }}"
- ],
- "sequence": [
- {
- "variables": {
- "update_values": {
- "shading": {
- "a": 0,
- "t": "{{ as_timestamp(now()) | round(0) }}",
- "p": 0,
- "q": 0
- },
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "alias": "Check for shading tilt",
- "conditions": [
- "{{ is_shading_enabled }}",
- "{{ trigger.id is defined }}",
- "{{ trigger.id | regex_match('^(t_shading_tilt)') }}",
- "{{ is_status_helper_enabled }}",
- {
- "and": [
- "{{ is_helper_shaded }}",
- "{{ not is_helper_shading_start }}"
- ]
- },
- "{{ is_cover_tilt_enabled_and_possible }}",
- {
- "condition": []
- },
- {
- "and": [
- "{{ auto_up_force_disabled }}",
- "{{ auto_down_force_disabled }}",
- "{{ auto_ventilate_force_disabled }}"
- ]
- },
- "{{ not (is_helper_vent_partial or is_helper_vent_full) }}",
- "{{ not (is_helper_manual and override_shading_after_manual) }}"
- ],
- "sequence": [
- {
- "variables": {
- "target_tilt_position": "{{ shading_tilt_position | int }}",
- "tilt_first": true,
- "update_values": {
- "t": "{{ as_timestamp(now()) | round(0) }}"
- }
- }
- },
- {
- "sequence": [
- {
- "if": [
- "{{ not prevent_default_cover_actions }}",
- "{{ is_cover_tilt_enabled_and_possible }}",
- "{{ expand(blind_entities) | selectattr('attributes.current_tilt_position', 'defined') | list | count > 0 }}"
- ],
- "then": [
- {
- "repeat": {
- "for_each": "{{ blind_entities | list }}",
- "sequence": [
- {
- "if": [
- "{{ tilt_first | default(false) }}"
- ],
- "then": [
- {
- "alias": "Reset Tilt",
- "data": {
- "tilt_position": 0
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": 0
- }
- }
- ]
- },
- {
- "alias": "Tilt Delay",
- "delay": {
- "seconds": 0
- }
- },
- {
- "alias": "Moving the cover to tilt position",
- "data": {
- "tilt_position": "{{ target_tilt_position | default(101) }}"
- },
- "target": {
- "entity_id": "{{ repeat.item if repeat is defined else '' }}"
- },
- "action": "cover.set_cover_tilt_position"
- },
- {
- "delay": {
- "seconds": "{{ (range(1, 3) | random | int) }}"
- }
- }
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "if": [
- "{{ is_status_helper_enabled }}"
- ],
- "then": [
- {
- "alias": "Update cover status helper",
- "data": {
- "entity_id": "input_text.cover_status_helper_ankleide",
- "value": "{% set dict_var = helper_state_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
- },
- "action": "input_text.set_value"
- }
- ]
- }
- ]
- },
- {
- "alias": "Check for shading end",
- "conditions": [
- "{{ is_shading_enabled }}",
- "{{ trigger.id is defined }}",
- "{{ trigger.id | regex_match('^(t_shading_end)') }}",
- "{{ is_status_helper_enabled }}",
- {
- "condition": []
- },
- {
- "and": [
- "{{ auto_up_force_disabled }}",
- "{{ auto_down_force_disabled }}",
- "{{ auto_ventilate_force_disabled }}",
- "{{ auto_shading_start_force_disabled }}"
- ]
- },
- {
- "or": [
- {
- "and": [
- "{{ is_time_control_disabled }}"
- ]
- },
- {
- "and": [
- "{{ is_time_field_enabled }}",
- "{{ now() >= today_at(time_up_early_today) }}",
- "{{ now() <= today_at(time_down_late_today) + timedelta(seconds = 5) }}"
- ]
- },
- {
- "and": [
- "{{ is_schedule_helper_enabled }}",
- "{{ time_schedule_helper != [] }}",
- "{{ is_state(time_schedule_helper, 'on') }}"
- ]
- }
- ]
- },
- "{{ not (is_helper_manual and override_shading_after_manual) }}",
- "{{ not is_helper_closed }}",
- {
- "or": [
- "{{ is_helper_shaded }}",
- "{{ in_shading_position }}"
- ]
- },
- {
- "or": [
- "{{ not prevent_shading_end_if_closed }}",
- "{{ prevent_shading_end_if_closed and not in_close_position}}"
- ]
- },
- {
- "or": [
- "{{ resident_sensor == [] }}",
- "{{ states(resident_sensor) in ['false', 'off'] }}"
- ]
- }
- ],
- "sequence": [
- {
- "choose": [
- {
- "alias": "Shading end detected. Save next execution time and pending status",
- "conditions": [
- "{{ trigger.id | regex_match('^(t_shading_end_pending)') }}",
- "{{ not is_helper_shading_end }}"
- ],
- "sequence": [
- {
- "variables": {
- "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