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

Reolink WLAN IP Kamera, Überwachungskamera 1440p HD mit Audio für Aussen, 2,4/5GHz WiFi Outdoor Kamera mit 30m IR Nachtsicht, SD Kartenslot und Bewegungserkennung, Fernzugriff, RLC-410W
Reolink WLAN IP Kamera, Überwachungskamera 1440p HD mit Audio für Aussen, 2,4/5GHz WiFi Outdoor Kamera mit 30m IR Nachtsicht, SD Kartenslot und Bewegungserkennung, Fernzugriff, RLC-410W
--

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