I’m trying to get a script built. I want to check if a variable exist and include it if it does. Just really struggling to figure out the formatting. Something like
script:
sequence:
target:
entity_id: "{{ entity }}"
{% if variable is defined %}
data: "{{ variable }}"
{% endif %}
Ok, I think I got you. With your current setup, you’re not going to get the proper data structure, as it’s going to return all your key/value pairs as one big string. What you need to do here is create your empty dictionary, then add the key/value pairs, based on your logic, then return the resulting dictionary at the end.
Something like this…
kodi_control: sequence: - service: kodi.call_method target: entity_id: '{{ kodi_entity }}' data: >- {% set my_dict = {} %} {% set x=my_dict.__setitem__("method", {{ kodi_method }}) %} {% if kodi_playerid is defined %} {% set x=my_dict.__setitem__("playerid", {{ kodi_playerid }}) %} {% endif %} {% if kodi_action is defined %} {% set x=my_dict.__setitem__("action", {{ kodi_action }}) %} {% endif %} {% if kodi_value is defined %} {% set x=my_dict.__setitem__("value", {{ kodi_value }}) %} {% endif %} {% if kodi_window is defined %} {% set x=my_dict.__setitem__("window", {{ kodi_window }}) %} {% endif %} {% if kodi_parameters is defined %} {% set x=my_dict.__setitem__("parameters", {{ [ kodi_parameters ] }}) %} {% endif %} {{ my_dict }}