State of an Entity

Hi,
I’m working on a script based on the state of Weather.Forecast_Casa


In the above examble the state is Sunny but I need to translate it in italian so I used some jinjia instructions as below

service: tts.cloud_say
data:
  entity_id: media_player.cameretta_studio
  message: >-
    Buongiorno Marilena. Sono le {{ states.sensor.time.state }}.   Oggi è una
    giornata  {% set tempo = "weather.forecast_casa" %} {% if states(tempo) ==
    'partlycloudy' %} Parzialmente Nuvolosa. {% endif %}  {% if states(tempo) ==
    'sunny' %} Soleggiata. {% endif %} {% if states(tempo) == 'clear-night' %}
    Notte Chiara. {% endif %}  A Chieuti la temperatura esterna è di {{
    state_attr('weather.forecast_casa', 'temperature')|int }} gradi, il tasso di
    umidità è del {{ state_attr('weather.forecast_casa', 'humidity')|int }} %,
    il vento soffia a {{ state_attr('weather.forecast_casa', 'wind_speed')|int
    }} chilometri orari. Ti auguro una bellissima giornata.

I discovered that the state is also somehow available i italian but I dno’t know how to get it

Any help is welcome
Thanks

The state translated function returns a translated state of an entity using a language that is currently configured in the general settings.

service: tts.cloud_say
data:
  entity_id: media_player.cameretta_studio
  message: >-
    Buongiorno Marilena. Sono le {{ states('sensor.time') }}.   Oggi è una
    giornata  {% set tempo = "weather.forecast_casa" %}{{ tempo | state_translated }}  A Chieuti la temperatura esterna è di {{
    state_attr(tempo, 'temperature')|int }} gradi, il tasso di
    umidità è del {{ state_attr(tempo, 'humidity')|int }} %,
    il vento soffia a {{ state_attr(tempo, 'wind_speed')|int
    }} chilometri orari. Ti auguro una bellissima giornata.

I was not aware that exist a state_translated function :grinning_face_with_smiling_eyes:

I will play with it
Thanks

It’s relatively new… and additions to templating functions don’t usually get much fanfare compared to all the other stuff in the monthly Release Notes.

1 Like

Need some additional help on Template.

I would like to play a bit with if than instructions to advise my wife to put the hibrid plug in car under charging in some circumstances.

{% set autonomy ="sensor.car_car_evinfo_battery_gasrange" %} 
{% set battery_charge = "sensor.car_car_evinfo_battery_stateofcharge" %}
{{ states (autonomy)}} km
{{ states (battery_charge)}} %
{% if states(autonomy) > '50' %} 
  {% if states(battery_charge) > '75' %} {% endif %}
  {% if states(battery_charge) > '50' %}
  M1: La carica della tua auto è del {{ states (battery_charge) }}%, ti suggerisco di metterla in carica
  {% else %}
  M2: La batteria della tua macchina è scarica, ti suggerisco di caricarla.
  {% endif %}  
{% else %}
  {% if states(battery_charge) > '75' %} {% endif %}
  {% if states(battery_charge) > '50' %}
  M3: La carica della tua auto è del {{ states (battery_charge) }}%, ti suggerisco di metterla in carica perchè hai poca benzina.
  {% else %}
  M4: La batteria della tua macchina è scarica, ti suggerisco di caricarla subito perchè hai pochissima benzina.
  {% endif %}
{% endif %}

I would like that the following messages will appears when:

M1: fuel autonomy >50km; Battery Charge 50-75%
M2: fuel autonomy >50km; Battery Charge <50%
M3: fuel autonomy >50km; Battery Charge 50-75%
M4: fuel autonomy >50km; Battery Charge <50%
In the current conditions (fuel autonomy 100km; Battery Charge 100%) I should have no warning messages while M4 appears.
Thanks again for your support

To get correct numerical comparisons you need to compare numbers not strings. You can use float or int to convert the string returned by the states() function into an actual number:

{% set autonomy = states("sensor.car_car_evinfo_battery_gasrange") | float(0) %} 
{% set battery_charge = states("sensor.car_car_evinfo_battery_stateofcharge") | float(0) %}

{{ autonomy }} km
{{ battery_charge }} %
{% if autonomy > 50 %} 
  {% if battery_charge > 75 %}
  {% elif 75 > battery_charge > 50 %}
    M1: La carica della tua auto è del {{ battery_charge }}%, ti suggerisco di metterla in carica
  {% else %}
    M2: La batteria della tua macchina è scarica, ti suggerisco di caricarla.
  {% endif %}  
{% else %}
  {% if battery_charge > 75 %}
  {% elif battery_charge > 50 %}
    M3: La carica della tua auto è del {{ battery_charge }}%, ti suggerisco di metterla in carica perchè hai poca benzina.
  {% else %}
    M4: La batteria della tua macchina è scarica, ti suggerisco di caricarla subito perchè hai pochissima benzina.
  {% endif %}
{% endif %}
1 Like

Many thanks.
A lot to learn :sweat_smile:

Is this the correct way to write the script, or should the numerical evaluation be done somewhere else and only the final result reported in the script?

service: tts.cloud_say
data:
  entity_id: media_player.cameretta_studio
  message: >-
    Buongiorno Marilena. Sono le {{ states.sensor.time.state }}. In questo
    momento a Chieuti è {% set weather = "weather.forecast_casa" %}{{ weather |
    state_translated }}. La temperatura esterna è di {{ state_attr(weather,
    'temperature')|int }} gradi, il tasso di umidità è del {{
    state_attr(weather, 'humidity')|int }} %, il vento soffia a {{
    state_attr(weather, 'wind_speed')|int }} chilometri orari. {% set autonomy =
    states("sensor.car_car_evinfo_battery_gasrange") | int(0) %}  {% set
    battery_charge = states("sensor.car_car_evinfo_battery_stateofcharge") |
    int(0) %} {% if autonomy > 50 %}  {% if battery_charge > 75 %} La batteria
    della tua auto è abbastanza carica.  {% elif 75 > battery_charge > 30 %} La
    batteria della tua auto si sta scaricando, ti suggerisco di metterla in
    carica. {% else %} La batteria della tua macchina è scarica, ti suggerisco di
    metterla subito in carica. {% endif %}   {% else %} {% if battery_charge >
    75 %} La batteria della tua auto è abbastanza carica ma ricordati che hai
    poca benzina. {% elif battery_charge > 50 %} La batteria della tua auto si
    sta scaricando, ti suggerisco di metterla in carica perchè hai poca benzina.
    {% else %} La batteria della tua macchina è scarica, ti suggerisco di
    caricarla subito perchè hai poca benzina. {% endif %} {% endif %} Ti auguro
    una bellissima giornata.

Either one will work, it is mostly personal preference.