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

Musou HDMI auf AV 1080P HDMI zu RCA Konverter 3RCA Composite CVBS Video Audio Converter HDMI to AV Adapter mit USB Ladekabel für TV DVD PAL PS3 NTSC
Musou HDMI auf AV 1080P HDMI zu RCA Konverter 3RCA Composite CVBS Video Audio Converter HDMI to AV Adapter mit USB Ladekabel für TV DVD PAL PS3 NTSC
--

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