Hi,
I want to get an persistent.notification with some dynamic generated content.
Therefore, I have built the following code - with a “big” if/else:
service: notify.persistent_notification
data:
title: Benachrichtigung von Siemens EQ.9
message: >-
{% set Enum_programm_type = states('sensor.siemens_ti9578x1de_68a40e8445de_selected_program') %}
{% set Translated_program_type = Enum_programm_type.split('.')[4] %}
{% if Translated_program_type, 'Cofee' %}
{% set Program = 'Café Crema' %}
{% elif Translated_program_type, 'Espresso' %}
{% set Program = 'Espresso' %}
{% elif Translated_program_type, 'CaffeLatte' %}
{% set Program = 'Milchkaffee' %}
{% elif Translated_program_type, 'Cappuccino' %}
{% set Program = 'Cappuccino' %}
{% elif Translated_program_type, 'EspressoDoppio' %}
{% set Program = 'Espresso doppio' %}
{% elif Translated_program_type, 'EspressoMacchiato' %}
{% set Program = 'Espresso Macchiato' %}
{% elif Translated_program_type, 'LatteMacchiato' %}
{% set Program = 'Latte Macchiato' %}
{% elif Translated_program_type, 'MilkFroth' %}
{% set Program = 'Milchschaum' %}
{% elif Translated_program_type, 'Ristretto' %}
{% set Program = 'Ristretto' %}
{% elif Translated_program_type, 'WarmMilk' %}
{% set Program = 'Warme Milch' %}
{% elif Translated_program_type, 'Americano' %}
{% set Program = 'Americano' %}
{% elif Translated_program_type, 'BlackEye' %}
{% set Program = 'BlackEye' %}
{% elif Translated_program_type, 'CafeAuLait' %}
{% set Program = 'Café au lait' %}
{% elif Translated_program_type, 'CafeConLeche' %}
{% set Program = 'Café con leche' %}
{% elif Translated_program_type, 'Cortado' %}
{% set Program = 'Cortado' %}
{% elif Translated_program_type, 'DeadEye' %}
{% set Program = 'Dead Eye' %}
{% elif Translated_program_type, 'Doppio' %}
{% set Program = 'Doppio' %}
{% elif Translated_program_type, 'FlatWhite' %}
{% set Program = 'Flat White' %}
{% elif Translated_program_type, 'Galao' %}
{% set Program = 'Galão' %}
{% elif Translated_program_type, 'Garoto' %}
{% set Program = 'Garoto' %}
{% elif Translated_program_type, 'GrosserBrauner' %}
{% set Program = 'Großer Brauner' %}
{% elif Translated_program_type, 'Kaapi' %}
{% set Program = 'Kaapi' %}
{% elif Translated_program_type, 'KleinerBrauner' %}
{% set Program = 'Kleiner Brauner' %}
{% elif Translated_program_type, 'KoffieVerkeerd' %}
{% set Program = 'Koffie verkeerd' %}
{% elif Translated_program_type, 'RedEye' %}
{% set Program = 'RedEye' %}
{% elif Translated_program_type, 'Verlaengerter' %}
{% set Program = 'Verlängerter' %}
{% elif Translated_program_type, 'VerlaengerterBraun' %}
{% set Program = 'Verlängerter braun' %}
{% elif Translated_program_type, 'WienerMelange' %}
{% set Program = 'Wiener Melange' %}
{% else %}
{% set Program = '' %}
{% endif %}
Dein {{ Program }} ist fertig.
But it seems, that only the first “if” statement will be taken - the variable “Program” is always filled with the same text…
It does always use “Café Crema” … now, I am not sure if I made a mistake, or if these if/else are not working in the message configuration.
From the developer-Tools, it can be seen, that the sensor does have another value - it should take “Espresso”
This can also be verified if I am just outputting the last part of the Value:
{% set Enum_program_type = states('sensor.siemens_ti9578x1de_68a40e8445de_selected_program') %}
{% set Translated_program_type = Enum_program_type.split('.')[4] %}
{{ Translated_program_type }}
Then, the template editor is showing the correct content
Here you can see the output of the state - and below what will be displayed after running through the If / else… I do need the if else block to translate some of the Strings into another language.