Good evening,
I have three calendars and the various appointments I have them pronounced by alexa.
I made these 3 scripts that I call from an automation.
I call them in sequence and sometimes I hear the first and other times I don’t even hear one.
How can I streamline this code and make it work?
Thanks, Alberto
calendario_lavoro:
alias: "Prossimo lavoro"
sequence:
- service: script.speak_all
data_template:
message: >
{%- set giorno = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"] -%}
{%- set mese = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"] -%}
{%- set date_from = as_timestamp(states.calendar.lavoro.attributes.start_time) -%}
{%- set date_to = as_timestamp(states.calendar.lavoro.attributes.end_time) -%}
{%- set Dalle = date_from | timestamp_custom("%H:%M") -%}
{%- set Alle = date_to | timestamp_custom("%H:%M") -%}
{%- set m_ok = date_from | timestamp_custom("%m") | int -%}
{%- set g_ok = date_from | timestamp_custom("%w") | int -%}
{%- set giorno_della_settimana = giorno[g_ok] %}
{%- set giorno_del_mese = date_from | timestamp_custom("%d") -%}
{%- set mese = mese[m_ok - 1] -%}
{%- if is_state("calendar.lavoro", "on")-%}
Ciao Alberto! Oggi hai un impegno presso {{ states.calendar.lavoro.attributes.message }}
dalle ore {{ Dalle}} alle {{ Alle }}
{%- else -%}
Ciao Alberto! Oggi non hai impegni.
Prossimamente sarai impegnato {{ giorno_della_settimana }} {{ giorno_del_mese }} {{ mese }}
dalle ore {{ Dalle}} alle {{ Alle }}
{%- endif -%}
##########################################################################################
calendario_appuntamenti:
alias: "Prossimo appuntamento"
sequence:
- service: script.speak_all
data_template:
message: >
{%- set giorno = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"] -%}
{%- set mese = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"] -%}
{%- set date_from = as_timestamp(states.calendar.famiglia.attributes.start_time) -%}
{%- set date_to = as_timestamp(states.calendar.famiglia.attributes.end_time) -%}
{%- set Dalle = date_from | timestamp_custom("%H:%M") -%}
{%- set Alle = date_to | timestamp_custom("%H:%M") -%}
{%- set m_ok = date_from | timestamp_custom("%m") | int -%}
{%- set g_ok = date_from | timestamp_custom("%w") | int -%}
{%- set giorno_della_settimana = giorno[g_ok] %}
{%- set giorno_del_mese = date_from | timestamp_custom("%d") -%}
{%- set mese = mese[m_ok - 1] -%}
{%- if is_state("calendar.famiglia", "on")-%}
Oggi hai un appuntamento {{ states.calendar.famiglia.attributes.message }}
dalle ore {{ Dalle}} alle {{ Alle }}
{%- else -%}
Oggi non hai appuntamenti.
{%- endif -%}
##########################################################################################
calendario_festivita:
alias: "Festività"
sequence:
- service: script.speak_all
data_template:
message: >
{%- set giorno = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"] -%}
{%- set mese = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"] -%}
{%- set date_from = as_timestamp(states.calendar.festivita_in_italia.attributes.start_time) -%}
{%- set date_to = as_timestamp(states.calendar.festivita_in_italia.attributes.end_time) -%}
{%- set Dalle = date_from | timestamp_custom("%H:%M") -%}
{%- set Alle = date_to | timestamp_custom("%H:%M") -%}
{%- set m_ok = date_from | timestamp_custom("%m") | int -%}
{%- set g_ok = date_from | timestamp_custom("%w") | int -%}
{%- set giorno_della_settimana = giorno[g_ok] %}
{%- set giorno_del_mese = date_from | timestamp_custom("%d") -%}
{%- set mese = mese[m_ok - 1] -%}
{%- if is_state("calendar.festivita_in_italia", "on")-%}
Oggi è {{ states.calendar.festivita_in_italia.attributes.message }}
{%- else -%}
La prossima festività sarà {{ giorno_della_settimana }} {{ giorno_del_mese }} {{ mese }} {{ states.calendar.festivita_in_italia.attributes.message }}
{%- endif -%}
##########################################################################################
speak:
alias: "TTS message"
sequence:
- service: media_player.volume_set
entity_id: media_player.cucina
data:
volume_level: '.5'
- service: notify.alexa_media
data_template:
message: "{{ message }}"
data:
type: announce
target:
- media_player.cucina
- media_player.ufficio