Macros für Templates - ab 2023.4

Eine Sammlung von Home Assistant Templates.
Bitte nur fertige Templates posten, ergänzt um eine Beschreibung und ggf. Screenshots.


Antworten
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Macros für Templates - ab 2023.4

Beitrag von Osorkon »

Ab der Home Assistant Version 2023.4 gibt es nun auch die Möglichkeit Macros zu schreiben die in den Templates verwenden werden können.
Dies ermöglicht es, immer wieder kehrende template Inhalte, nur ein mal zentral als Macro abzulegen und dann in Templates darauf zuzugreifen.
Siehe auch Release Notes

Ein schönes Bsp. ist z.B die Individuelle Formatierung des Zeitstempels, welches ich im Bereich Template Sammlungen vorgestellt habe.

Dieses Template lässt sich nun als Macro erstellen. Die Macros werden in /config/custom_templates/tools.jinja abgelegt.
Falls der Ordner custom_templates noch nicht existent ist, diese erstellen sowie die Datei tools.jinja

Die erstellten Macros kommen dann in die tools.jinja Datei

Code: Alles auswählen

{% macro user_datum(datum) %}
{% set wochentag = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"] %}
{% set monat = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] %}
{% set wochentag = wochentag[datum.weekday()] %}
{% set monat = monat[datum.month - 1] %}
{{ wochentag }}, der {{ datum.day }} {{ monat }} {{datum.year}}
{% endmacro %}

Das Macro heisst in diesem Bsp. user_datum, übergeben wird dann die Variable datum
Diese Macro lässt sich nun überall im Template verarbeiten.

Code: Alles auswählen

{% from 'tools.jinja' import user_datum %}
{{ user_datum(now()) }}

Damit wird das Macro user_datum importiert und now() als Zeitstempel übergeben.

Das Template

Code: Alles auswählen

{{ now() }}

hat als Ergebnis
2023-04-05 19:45:35.427707+02:00

Die Verwendung der macros im Template dagegen:
Mittwoch, der 5 April 2023

Für Alle die gern und viel mit Templates arbeiten, ist es sicher eine sinnvolle Erweiterung.
Ein wenig vergleichbar mit den Blueprints. Ändert man einen Blueprint, hat das Auswirkungen auf alle Automatisierungen, die den Blueprint verwenden.
So verhält es sich auch bei den Template Macros.

Viel Spaß mit den Template Marcos ab Home Assistant 2023.4

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Antworten