Hi,
I have a script that takes 3 variables. When I trigger it from an automation, I only want to set one of them. The other 2 should remain at their default values. However, setting any variable at all, results in the others being unset.
Is there a way around this?
script variables;
variables:
segments: []
valetudo_segments:
- name: guest_toilet
id: 10
- name: entrance
id: 8
- name: office
id: 5
- name: living_room
id: 6
- name: dining_room
id: 7
- name: kitchen
id: 9
- name: master_hallway
id: 4
- name: master_bathroom
id: 3
- name: master_bedroom
id: 2
selected_segments: >-
{% set data = namespace(segments=[]) %} {% set clean_all =
is_state("input_boolean.valetudo_1stfloor_segment_all", "on") %}
{% if segments|length > 0 %}
{% for segment in valetudo_segments %}
{% if segment.name in segments %}
{% set data.segments = data.segments + [segment.id] %}
{% endif %}
{% endfor %}
{% else %}
{% for segment in valetudo_segments %}
{% if clean_all or is_state("input_boolean.valetudo_1stfloor_segment_" + segment.name, "on") %}
{% set data.segments = data.segments + [segment.id] %}
{% endif %}
{% endfor %}
{% endif %}
[{{ data.segments | join(",") }}]
action in the automation:
action: script.valetudo_clean_segments
metadata: {}
data:
segments:
- guest_toilet