Data calendario em pt-br com tts


(Renato Barbosa) #1

Ola, tudo bem com todos ?
Estou tentando ler o dia e mes em portugues do proximo feriado. A funcao esta ok. Funciona, porem por algum motivo nao entra na action… Ele ler todas as outras, mas a ultima nao é lida.

Veja o fragmento do codigo. Em seguida posto todo o codigo utilizado. Reforcando, tudo funciona, somente ultima acao nao e lida, ou seja, o feriado.

- data_template:
      message: '{% set months = ["Janeiro", "Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"] %}{% set dt = strptime (states.calendar.feriados_no_brasil.attributes.start_time, "%Y-%m-%d  %H:%M:%S") %}Próximo feriado {{ states.calendar.feriados_no_brasil.attributes.message }} cai {{ weekday[dt.weekday()] }}, em {{ dt.day }} de {{ months[dt.month-1] }}'
    entity_id: media_player.living_room_speaker
    service: tts.google_say

Codigo completo da automacao

- id: '1529625339241'
  alias: Acordando
  trigger:
  - at: 08:40:00
    platform: time
  condition: []
  action:
  - data_template:
      message: Bom dia! Voçê dormiu bem ?
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:05
  - data_template:
      message: A temperatura em Duque de Caxias é de {{states('sensor.yweather_temperature')}}graus.
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - data_template:
      message: Iniciei o preparo do seu café ás 8:11
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - condition: state
    entity_id: calendar.contacts
    state: 'off'
  - data_template:
      message: Hoje é  {{  states.calendar.contacts.attributes.message}}
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - condition: state
    entity_id: calendar.homeassistant
    state: 'off'
  - data_template:
      message: 'Você me pediu para te lembrar hoje de:  {{  states.calendar.homeassistant.attributes.message}}'
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - data_template:
      message: '{% set months = ["Janeiro", "Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"] %}{% set dt = strptime (states.calendar.feriados_no_brasil.attributes.start_time, "%Y-%m-%d  %H:%M:%S") %}Próximo feriado {{ states.calendar.feriados_no_brasil.attributes.message }} cai {{ weekday[dt.weekday()] }}, em {{ dt.day }} de {{ months[dt.month-1] }}'
    entity_id: media_player.living_room_speaker
    service: tts.google_say

(Renato Barbosa) #2

Pessoal solução:

- id: '1529625339241'
  alias: Acordando
  trigger:
  - at: 08:40:00
    platform: time
  condition: []
  action:
  - data_template:
      message: Bom dia!
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:05
  - data_template:
      message: A temperatura em Duque de Caxias é de {{states('sensor.yweather_temperature')}}graus.
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - data_template:
      message: Iniciei o preparo do seu café ás 8:11
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - condition: state
    entity_id: calendar.contacts
    state: 'off'
  - data_template:
      message: Hoje é  {{  states.calendar.contacts.attributes.message}}
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - condition: state
    entity_id: calendar.homeassistant
    state: 'on'
  - data_template:
      message: 'Você me pediu para te lembrar hoje de:  {{  states.calendar.homeassistant.attributes.message}}'
    entity_id: media_player.living_room_speaker
    service: tts.google_say
  - delay: 00:00:07
  - data_template:
      message: '{% set weekday = [''Segunda'',''terça'',''Quarta'',''Quinta'',''Sexta'',''Sabado'',''Domingo'']
        %}{% set months = ["Janeiro", "Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"]
        %}{% set dt = strptime (states.calendar.feriados_no_brasil.attributes.start_time,
        "%Y-%m-%d  %H:%M:%S") %}Próximo feriado {{ states.calendar.feriados_no_brasil.attributes.message
        }} cai {{ weekday[dt.weekday()] }}, em {{ dt.day }} de {{ months[dt.month-1]
        }}'
    entity_id: media_player.living_room_speaker
    service: tts.google_say

Agora minha briga é como nao entrar em determinado calendario se nao tem evento. E como pegar o horario certo em que um device foi acionado. No meu caso a cafeteira.