Implementierung der Kartenstruktur

Mit dieser Kartenstruktur im Dashboard wird eine Modusauswahl für die Heizungssteuerung ermöglicht. Dabei kann zwischen drei verschiedenen Modi gewählt werden: Stundenplan, Ferienmodus und Manuell. Die Auswahl erfolgt direkt über drei Schaltflächen im Dashboard. Jeder Modus ist durch eine eigene Karte mit Titel und Symbol dargestellt. Nur einer der Modi kann gleichzeitig aktiv sein. 

Wenn man auf eine der Karten tippt, wird über eine MQTT-Nachricht der jeweilige Modus aktiviert. Damit das funktioniert, müssen die passenden yaml-Skripte in Home Assistant erstellt werden. Da die Nachrichten zur Ansteuerung ursprünglich für eine Steuerung von einer SPS konfiguriert wurden, werden die Nachrichten auf dem bereits eingerichteten topics "sps/befehl/modus" und "sps/befehl/temp" versendet. Zum Auslösen des Sende-Befehls wird die sogenannte "tap-action" verwendet, sodass die Nachricht beim Tippen auf die jeweilige Karte versendet wird. Die Kartenstruktur stellt die drei Modi als Schaltflächen dar und zeigt bei Auswahl von „Manuell“ zusätzlich eine Temperatur-Eingabekarte an. Wird unter dem Topic "sps/befehl/temp" gesendet, bedeutet das für das Python Skript sofort auch der Wechsel in den Manuellen Modus. Dieser wird in Home Assistant jedoch erst ausgeführt wenn man auf die Fläche "Manueller Modus" klickt und nicht wenn man einfach nur die Temperatur verändert. Liegen alle grundlegend benötigten Helfer vor, kannst du die folgende Kartenstruktur in dein Dashboard einfügen:

type: vertical-stack
cards:
  - type: custom:timer-bar-card
    entity: timer.modus_wechsel_timer
    name: Nächste Auswahl in
    icon: mdi:timer-outline
  - type: conditional
    conditions:
      - entity: timer.modus_wechsel_timer
        state: active
    card:
      type: custom:mushroom-template-card
      primary: >
        {{ iif(states('input_select.heiz_modus') == 'stundenplan',
        'Stundenplan',
           iif(states('input_select.heiz_modus') == 'ferienmodus', 'Ferienmodus',
           iif(states('input_select.heiz_modus') == 'manuell', 'Manuell', 'Unbekannt'))) }}
      icon: >
        {{ iif(states('input_select.heiz_modus') == 'stundenplan',
        'mdi:calendar-clock',
           iif(states('input_select.heiz_modus') == 'ferienmodus', 'mdi:feather',
           iif(states('input_select.heiz_modus') == 'manuell', 'mdi:hand-back-left', 'mdi:help'))) }}
      icon_color: green
      layout: vertical
      fill_container: true
      tap_action:
        action: none
  - type: conditional
    conditions:
      - entity: timer.modus_wechsel_timer
        state_not: active
    card:
      type: custom:mushroom-template-card
      primary: Stundenplan
      icon: mdi:calendar-clock
      icon_color:
        "#AAAAAA": null
      layout: vertical
      fill_container: true
      tap_action:
        action: call-service
        service: mqtt.publish
        data:
          topic: sps/befehl/modus
          payload: 0;2
  - type: conditional
    conditions:
      - entity: timer.modus_wechsel_timer
        state_not: active
    card:
      type: custom:mushroom-template-card
      primary: Ferienmodus
      icon: mdi:feather
      icon_color:
        "#AAAAAA": null
      layout: vertical
      fill_container: true
      tap_action:
        action: call-service
        service: mqtt.publish
        data:
          topic: sps/befehl/modus
          payload: 0;3
  - type: conditional
    conditions:
      - entity: timer.modus_wechsel_timer
        state_not: active
    card:
      type: custom:mushroom-template-card
      primary: Manuell
      icon: mdi:hand-back-left
      tap_action:
        action: call-service
        service: script.sende_manuelle_temperatur
      color:
        "#AAAAAA": null
      vertical: true
      features_position: bottom
  - type: conditional
    conditions:
      - entity: timer.modus_wechsel_timer
        state_not: active
    card:
      type: custom:mushroom-number-card
      entity: input_number.manuelle_temperatur
      name: Temperatur einstellen
      icon: mdi:thermometer
      icon_color: blue

 

Last modified: Friday, 29 May 2026, 10:19 AM