Quantcast
Channel: Configuration - Home Assistant Community
Viewing all articles
Browse latest Browse all 95925

Speak multiple calendar to alexa

$
0
0

@alverman wrote:

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

Posts: 2

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 95925

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>