Wie kann man die Ansage von Variablen und zufälligen Texte von tts.google_say zu media_player.play_media umstellen? (RPi5 -Problem)

Hallo Forum

Beim umstellen von RPi4 auf RPi5 will ich auch weg von Google.
Allerdings ist es jetzt sehr schwierig meine Scripte umzuschreiben.
Bei TTS. Google_Say brauchte ich nur hinter “message” einzutragen was gesagt werden soll, so wie hier:

service: tts.google_say
metadata: {}
data:
  entity_id: media_player.m5stack_atom_echo_a0725c
  language: de
  message: WARNUNG SONNENSTURM  {{ states('sensor.ham_radio_propagation_solar_xray') }}

Dashier funktioniert auch noch:

service: media_player.play_media
target:
  entity_id: media_player.vlc_telnet
data:
  media_content_id: >-
        media-source://tts/tts.piper_2?message=WARNUNG+SONNENSTURM+{{states('sensor.ham_radio_propagation_solar_xray')}}&language=de_DE&voice=de_DE-ramona-low
  media_content_type: provider
metadata:
  title: WARNUNG SONNENSTURM  {states('sensor.ham_radio_propagation_solar_xray') }
  thumbnail: https://brands.home-assistant.io/_/tts/logo.png
  media_class: app
  children_media_class: null
  navigateIds:
    - {}
    - media_content_type: app
      media_content_id: media-source://tts
    - media_content_type: provider
      media_content_id: >-
        media-source://tts/tts.piper_2?message=WARNUNG+SONNENSTURM+{{states('sensor.ham_radio_propagation_solar_xray')}}&language=de_DE&voice=de_DE-ramona-low

Worüber ich garnichts gefunden habe ist: Wenn ich Zufallsvariablen dazunehmen will wie hier:


    {% set kalorien ="Heute nur" ~ states('sensor.frank_basal_metabolism'))|float| round (0) ~
    "Kalorien essen !" %}    
    {% set sollgewicht =  states('sensor.sollgewicht_avi') |float|round(1) ~ "Sollgewicht"%} 
    {% set uebergewicht = states('sensor.uebergewicht_avi')|float| round (0) ~ "kilo
    sind zuviel" %}  
    {% set innentemperatur = "Temperatur innen" ~ states('sensor.esp360_default_1_living_room_temperature') |float|round(1) ~ "Grad" %}
    {% set aussentemperatur = "Temperatur aussen" ~ states('sensor.aussentemperatur') |float|round(1) ~ "Grad" %}

    {% if states.sensor.mi_waage_weight_frank is defined %}
        {% set gewicht =   "Aktuelles Gewicht " ~ states('sensor.mi_waage_weight_frank') |float|round(1)%} 
    {% else %} 
        {% set gewicht = "Jetzt Wiegen!"%} 
    {% endif %}

    {% set ZufallsAnsage =  [ kalorien, "Schutzkugel jetzt","Ziel 83 Kilogramm", "Übergewicht verringern",  uebergewicht, gewicht, Maximalgewicht, sollgewicht, innentemperatur, kalorien]|random %}

    {# Ausgabe hier -#} {{ZufallsAnsage}}

Wie bekommt man Variablen angesagt und wohin soll man den Code kopieren? Ich bekomme nur Fehleranzeigen…
Danke
Frank

service: tts.speak
data:
  message: >-
    {% set t = states('weather.forecast_home') %}
      {% if  t == 'cloudy' %} {% set t='wolkig' %}
      {% elif  t == 'sunny' %} {% set t='sonnig' %}
      {% elif  t == 'rainy' %} {% set t='regnerisch' %}
      {% elif  t == 'snowy' %} {% set t='schnee' %}
      {% elif  t == 'partlycloudy' %} {% set t='leicht bewölkt' %}
    {% endif %} Es ist {{ t }}, {{ state_attr('weather.forecast_home','temperature')
    }} grad und luftfeuchtigkeit sind {{ state_attr('weather.forecast_home','humidity') }}
    Prozent. Die Windgeschwindigkeit beträgt {{ state_attr('weather.forecast_home','wind_speed') }}
    Kilometer pro Stunde
  options:
    voice: de_DE-thorsten-medium
  media_player_entity_id: media_player.vlc_telnet
  cache: true
target:
  entity_id: tts.piper