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

Echo Plus Stereo-System - 2 Echo Plus-Geräte (2. Gen.), Anthrazit Stoff + 1 Echo Sub
Echo Plus Stereo-System - 2 Echo Plus-Geräte (2. Gen.), Anthrazit Stoff + 1 Echo Sub
--

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 -%}