Nächsten Ausführungszeitpunkt von aktiven Zeitplänen der Scheduler-Card mit einem Template-Sensor ermitteln

WS2812 ECO 1M 144 LEDs RGB BTF-LIGHTING Individuell adressierbar WS2812 Legierungsdraht 144Pixels/m 5050 SMD Flexibler Lichtstreifen Schwarz PCB DC 5V für Heimdekoration IP30 Nicht-Wasserdicht
WS2812 ECO 1M 144 LEDs RGB BTF-LIGHTING Individuell adressierbar WS2812 Legierungsdraht 144Pixels/m 5050 SMD Flexibler Lichtstreifen Schwarz PCB DC 5V für Heimdekoration IP30 Nicht-Wasserdicht
13,99 €

Wenn man mehrere Zeitpläne von Scheduler-Cards hat, und wissen will, welcher Zeitplan als nächstes auslöst und wann, kann man das mit einem Template-Sensor realisieren.

Die Scheduler-Card findet Ihr im Home Assistant Community Store (HACS).

Wie Ihr HACS installiert könnt Ihr auf der Hacs Homepage unter https://hacs.xyz im Download Bereich Schritt für Schritt nachlesen. Im HACS könnt Ihr dann unter dem Punkt Frontend die Scheduler-Card installieren. Mit dieser lassen sich Zeitpläne für beliebige Ereignisse über die Lovelace Oberfläche erzeugen.

Um nun den nächsten Ausführungszeitpunkt zu ermitteln müssen alle Entitäten, die von dem Template ausgewertet werden sollen in einer Gruppe eingetragen werden.
Alles über Gruppen findet Ihr in der Dokumentation unter https://www.home-assistant.io/integrations/group/


Template-Sensor Code

Jetzt müsst Ihr noch den folgenden Code des Template-Sensors in eurer configuration.yaml einfügen.
Im Template-Code müsst Ihr nur die Entity-ID der Gruppe gegen die Entity-ID eurer neu angelegten Gruppe mit den Scheduler-Entitäten austauschen.

template:
  - sensor:
      - name: "Nächster Scheduler"
        state: > 
          {%- set x = states.switch |  selectattr('entity_id', 'in', state_attr('group.schedulers', 'entity_id'))| selectattr('state','eq','on')|list  -%}
          {% if x | count > 0 %}
          {{ x[0].name }}
          {% else %}
          Kein Eintrag in der Liste
          {%- endif -%}
        attributes:
          next_run: >
            {%- set x = states.switch |  selectattr('entity_id', 'in', state_attr('group.schedulers', 'entity_id'))| selectattr('state','eq','on')|list  -%}
            {% if x | count > 0 %}
            {{ as_timestamp( x[0].attributes.next_trigger ) | timestamp_custom("%d.%m.%Y, %H:%M Uhr") }}
            {% else %}
            Kein Eintrag in der Liste
            {%- endif -%}