Sure.
This is all the script:
script:
dss_spegni_carico:
sequence:
- service: mqtt.publish
data_template:
topic: "ultimocaricooff"
payload: >-
{%- macro dss_spegni_primo_carico() -%}
{%- set entity_carico_da_spegnere = states.input_select.lista_carichi.attributes.options|join(',')-%}
{%- for item in entity_carico_da_spegnere.split(',') if (states(item) != 'off') and (item != '')-%}
{{ item }}{% if not loop.last %},{% endif %}
{%- endfor -%}
{%- endmacro -%}
{{ dss_spegni_primo_carico().split(',') | first }}
retain: true
- service: mqtt.publish
data_template:
topic: "dataultimocaricooff"
payload: "{{ now().strftime('il %d/%m/%y alle %H:%M') }}"
retain: true
- service: homeassistant.turn_off
data_template:
entity_id: >-
{% set attribute = 'Power' %}
{% set value = 25 %}
{% set entities = states | selectattr('entity_id','in', states.input_select.lista_carichi.attributes.options) | list %}
{% set on_entities = entities | selectattr('state','eq','on') | list %}
{% set on_and_above_value = on_entities | selectattr('attributes.%s'%attribute, '>', value) | list %}
{{ on_and_above_value | first }}
{{ dss_spegni_primo_carico().split(',') | first }}
- service: input_boolean.turn_on
entity_id: input_boolean.check_accensione_automatica_carico
- service: input_boolean.turn_on
entity_id: input_boolean.notifica_spegnimento_carico
- delay:
seconds: 30
- service: script.controllo_assorbimento