Ich suche mir einen Wolf und finde dazu nichts. Bin sehr zufrieden mit meiner HA-Installation und alles läuft recht cremig. Auch meine 12 Thermometer!!
Zur Zeit habe ich unter jedem Thermometer den folgenden code:
So schön so gut. Würde aber gerne so etwas wie meineBatterieLadung( sensor.xi_terrasse_battery )
abschicken können und dann nur den formatierten Wert zurückbekommen… Batterie: meineBatterieLadung( sensor.xi_terrasse_battery )
Ist so etwas möglich oder muss ich immer mit set arbeiten?
Ja genau. Das mit dem set mache ich dann innerhalb der “Funktion” und schicke den von mir gewünschten Wert anständig formatiert zurück.
Damit brauche ich auch nur an einer Stelle etwas ändern (anstatt x Mal), wenn ich den Rückgabewert doch etwas anders formatieren will.
Vor vielen, vielen, vielen Jahre habe ich mit DELPHI gearbeitet. Da war es gang und gebe!
Ist halt sehr praktisch für wiederkehrende Auswertungen.
Nachtrag:
Oh mann, bin ich Deppert!!! Eben nochmals Deine Antwort gelesen und eben erst kapiert. So einfach kann es sein!!! DANKE!!!
Das geht ja schon viel besser, aber: Z.B. “replace” etc. könnte in der “Funktion” passieren, da wäre der Code übersichtlicher. Ich mache hier nur “replace”, wenn ich aber noch ein paar andere Dinge machen wollte, wäre es einfacher über eine “Funktion”. (Meine ich jedenfalls!)
“Reusing Templates” liest sich schon mal sehr interessant. Danke für den Tipp.
SO COOL! Genau was ich gesucht habe. Funktioniert auf Anhieb und ich bin erstmal geflashed. So kann ich ganz klasse alle meine Thermometer beschriften…
Wenn es jemandem weiterhilft, so habe ich es gelöst. Vielleicht nicht die eleganteste Art, funzt aber…
Jetzt brauche ich für meine Thermometer nur noch zwei Zeilen, um die Daten anzuzeigen. Wenn ich meinen Code ändere, passt es überall. Genau so wollte ich es haben. Nochmals ein RIESEN DANKE an rstuck!!!
Hier mein thermometer.jinja:
{% macro format_entity( entity_id_1, entity_id_2 ) %}
{# Get the BATTERY entity data #}
{% set batterie_prozent = states( entity_id_1 ) %}
{# Get the HUMIDITY entity data #}
{% set humidity_prozent = states( entity_id_2 ) %}
{# Replace 'unknown' or 'unavailable' #}
{% set batterie_prozent = batterie_prozent | replace('unavailable', '- * -') | replace('unknown', '- * -') %}
{% set humidity_prozent = humidity_prozent | replace('unavailable', '- * -') | replace('unknown', '- * -') %}
{# Check for '- * -' #}
{% if ( '- * -' in batterie_prozent ) %}
{% else %}
{# No '- * -' so add '%' #}
{% set batterie_prozent = batterie_prozent + '%' %}
{% endif %}
{# Check for '- * -' #}
{% if ( '- * -' in humidity_prozent ) %}
{% else %}
{# No '- * -' so add '%' #}
{% set humidity_prozent = humidity_prozent + '%' %}
{% endif %}
{# Return our string #}
Feuchte: {{ humidity_prozent }} Batterie: {{ batterie_prozent }}
{% endmacro %}