Dynamische Karten bauen. Gibt es auch Cases?

marco490

New member
Hallo,

ich hätte da mal eine Frage an die Experten hier :)

Ich habe derzeit eine Karte gebaut, die mittels Bedingung und dem Sensor "Date" nur an einem bestimmten Tag zu sehen ist. Sie beinhaltet ein Bild, ein Titel, ein Mediaplayer (Knopf um bestimmte Playlist zu spielen baue ich noch) und ein Knopf, um eine Lichtscene zu starten. Soweit so gut; funktioniert auch.

Meine erste Frage wäre; Kann ich im Datum auch eine "wildcard" verwenden, sodass die Karte jedes Jahr erscheint? Aktuell müsste ich einmal im Jahr die Jahreszahl ändern. (Den Dokus nach würde ich sagen leider nein?)

Die zweite und für mich wichtigere Frage:
Ist es möglich, diese Karte dynamisch zu bauen? Also mittels Cases.
Pseudocode:
Wenn 01.01.202* dann Zeige dieses BildA und diesen KnopfA.
Wenn 02.02.202* dann zeige dieses BildB und diesen KnopfB.
usw..

Meine Tests mit mehreren conditions haben irgendwie nie funktioniert :(

Hintergrund:
Ich möchte, dass auf meinem Dashboard zu bestimmten Tagen und Events eine bestimmte Karte erscheint. Also nur an diesem Tag. (Geburtstage, Sylvester).. So kann man auch super Lichtstimmungen und Musikplaylists hinterlegen und ein schönes Bild dazu.
Natürlich könnte ich jetzt x Karten bauen. Doch wenn ich im Modus "Bearbeiten" bin, wirds unübersichtlich wenn sie alle dort wären. Da ist mir eine, die sich dynamisch anpasst lieber.

Aktuell habe ich nur:

YAML:
type: conditional
conditions:
  - condition: state
    entity: sensor.date
    state: '2024-12-31'
card:
  type: entities
  entities:
    - entity: scene.Silvesterparty
      name: Silvesterparty
      icon: mdi:party-popper
    - entity: media_player.Wohnzimmer
  title: Heute ist Silvester!
  header:
    type: picture
    image: http://MEINENASIP/silvester.jpg
    tap_action:
      action: none
    hold_action:
      action: none
  state_color: true
 
Sollte sich mittels https://github.com/gadgetchnnel/lovelace-card-templater realisieren lassen, theoretisch sogar beides.

Kleines Beispiel:
YAML:
type: custom:card-templater
card:
  type: conditional
  conditions:
    - condition: state
      entity: sensor.date
      state_template: '{{now().year}}-12-31'
  card:
    type: entities
    entities_template: |-
      {% if now().day == 29 %}
        - sensor.rain
      {% elif now().day == 28 %}
        - sensor.sun_next_dusk
      {% endif %}
entities:
  - entity: sensor.date
Das state durch state_template ersetzen und damit das Jahr variabel setzen können, dann greift es jedes Silvester. Das entities durch entities_template ersetzen, dann kann die verwendete Entität (und weiteres) anhand beliebiger Kriterien gesetzt werden.

Edit, um die Karte grundsätzlich an mehreren Tagen anzuzeigen:
YAML:
  conditions:
    - condition: state
      entity: sensor.date
      state_template: |-
        {% set dates = ['12-31', '05-29'] %}
        {% if now() | as_timestamp | timestamp_custom('%m-%d') in dates %}
        {{ states('sensor.date') }}
        {% else %}
        {{ '2020-01-01' }}
        {% endif %}
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.556
Beiträge
54.721
Mitglieder
5.384
Neuestes Mitglied
BlueEclipse
Zurück
Oben