Random on cloud_say and message has problems? I can't use {{ .... }}

I have code

...
  - service: tts.cloud_say
    data:
      entity_id: media_player.camera_da_letto
      message: |
            "some message",
            "It's {{ now().strftime('%H e %M') }}"
           ] |random }}

But it does not say correct hour and minute
Instead code without “random” is ok:

  - service: tts.cloud_say
    data:
      entity_id: media_player.googlehome_studio
      message: "It's {{ now().strftime('%H e %M') }}"

Looks like you have a some brackets missing. try

service: tts.cloud_say
entity_id: media_player.camera_da_letto
data_template:
  message: |
    {{ ("some message",
        "It's {{ now().strftime('%H e %M') }}"
       )|random }}
alias: Friendly name
1 Like

No, same problem.

Try…

service: tts.cloud_say
entity_id: media_player.camera_da_letto
data_template:
  message: |
    {{ ("some message",
        "Its {{ now().strftime('%H %M') }}"
       )|random }}
alias: Friendly name

This is original code.

  - service: tts.cloud_say
    entity_id: media_player.camera_da_letto
    data_template:
      message: |
        {{ ("Sarebbe anche l'ora di alzarsi, care mie...", 
            "Sarebbe anche l'ora di alzarsi, non è vero?", 
            "L'ora della nanna è finita", 
            "Orsù bimbe alzatevi",
            "Buongiorno, sono le ore {{ now().strftime('%H e %M') }}"
           ) |random }}

You can’t nest templates. Here’s how to create the message that reports the time.

  - service: tts.cloud_say
    target:
      entity_id: media_player.camera_da_letto
    data:
      message: |
        {{ ("Sarebbe anche l'ora di alzarsi, care mie...", 
            "Sarebbe anche l'ora di alzarsi, non è vero?", 
            "L'ora della nanna è finita", 
            "Orsù bimbe alzatevi",
            "Buongiorno, sono le ore " ~ now().strftime('%H e %M')
           ) |random }}
1 Like