Angeregt durch diesen schönen “Fenster auf/zu seit Code” in einer Mushroom-template-card wollte ich wissen, ob man hier auch über das obige Makro die Seit-Abfrage zentralisieren könnte und ja es geht.
Hier der Code der ersten Karte
type: custom:mushroom-template-card
primary: Kühlschrank ist seit
secondary: >-
{% set fenster_entity = 'binary_sensor.aqara_unten_sensor_kuehlschrank_tuer_contact' %}
{%- from 'macros.jinja' import macro_timediff_now_last_changed as macro_get_time -%}
{% set status = states(fenster_entity) %}
{# Setzt voraus, dass Makro wie oben hinterlegt wurde #}
{% set seit = macro_get_time(fenster_entity) | trim %}
{% if status == "on" %}
{{ seit }} geöffnet
{% elif status == "off" %}
{{ seit }} geschlossen
{% else %}
Fenster Sensor nicht verfügbar
{% endif %}
icon: >-
{% set fenster_entity = 'binary_sensor.aqara_unten_sensor_kuehlschrank_tuer_contact' %}
{% if states(fenster_entity) == "off" %}
mdi:window-closed
{% else %}
mdi:window-open
{% endif %}
icon_color: >-
{% set fenster_entity = 'binary_sensor.aqara_unten_sensor_kuehlschrank_tuer_contact' %}
{{ 'green' if states(fenster_entity) == 'off' else 'red' }}
entity: "{{ fenster_entity }}"
Alternativ könnte natürlich den Code des Autors in jede Fenster/Tür Karte packen und den Entity Namen anpassen und es wird funktionieren!
Alternativ kann man das Makro im Code übernehmen und bei irgendeiner späteren Änderung der Seit-Abfrage braucht man nur einmal das Makro ändern.