Ein Startbildschirm, der weniger zeigt — Kontextabhängige Karten in Home Assistant

Wie ich einen HA-Startbildschirm mit bedingten Karten, priorisiertem Alert-Ticker und einem Škoda-Bereich der sich je nach Ladestand ändert gebaut habe.

#dashboard #lovelace #bedingte-karten #home-assistant #design
27. Juni 2025
Ein Startbildschirm, der weniger zeigt — Kontextabhängige Karten in Home Assistant

Ich hatte mal einen HA-Startbildschirm mit über vierzig Karten. Jeden Morgen scrollte ich an geparkte Roboter, ausgeschaltete Lichter und einen leeren Bewegungssensor vorbei. Das ist keine Information — das ist Bestätigung, dass nichts Ungewöhnliches passiert ist. Lärm in Kartenform.

Ich fing an, alles zu entfernen, das nur “immer noch in Ordnung” sagte.

Der Screenshot oben ist von heute Morgen. Die Spülmaschine läuft (blaue Karte). Das Ladekabel ist am Auto angeschlossen, also sitzt “Kabel entriegeln” neben “Klima Boost”. Home-Status ist leer — keine Lichter an, keine Roboter in Bewegung. Energie zeigt: gerade am günstigsten. Das war’s. Vier aktive Dinge, angezeigt. Alles andere, versteckt.

Der Alert-Ticker oben

Ganz oben sitzt eine custom:alert-ticker-card (HACS) mit show_when_clear: false. Wenn nichts Aufmerksamkeit erfordert, existiert sie nicht. Wenn doch, rotiert sie Meldungen in Prioritätsreihenfolge:

type: custom:alert-ticker-card
show_when_clear: false
cycle_interval: 6
alerts:
  - entity: binary_sensor.sentinel_person
    state: "on"
    message: "👤 Person an Sentinel erkannt"
    priority: 1
    tap_action:
      action: navigate
      navigation_path: /nyt-mobil/overvagning
  - entity: lawn_mower.flora
    state: error
    message: "⚠️ Flora Fehler"
    priority: 1
  - entity: sensor.muellabfuhr_naechste_abholung
    operator: "=="
    state: "1"
    message: "🗑️ Müll wird morgen abgeholt"
    priority: 3

Personenerkennung ist Priorität 1. Müll morgen ist Priorität 3. Ein Tipp auf die Personenwarnung navigiert direkt zur Überwachungsansicht. Wenn alles ruhig ist: nichts. Kein leerer Balken, kein “Alles in Ordnung”. Einfach nichts.

Die Spülmaschine hat drei Zustände

Das hat eine Weile gedauert. Die Spülmaschinenkarte hat je nach Zustand drei völlig unterschiedliche Erscheinungsbilder:

Versteckt — wenn die Maschine aus oder fertig ist. Keine Karte, kein Bereich.

Bereit — wenn OperationState Ready ist UND Fernstart erlaubt ist. Zeigt eine Kachel mit “Spülmaschine bereit — Endzeit einstellen”. Erscheint genau in dem Fenster, in dem man sie befüllt, aber noch nicht gestartet hat.

Läuft — wenn OperationState Run ist. Andere Karte, blauer Hintergrund, “Spülmaschine läuft”. Keine Aktion nötig, nur Bewusstsein.

- type: conditional
  conditions:
    - entity: sensor.geschirrspueler_betriebszustand
      state: BSH.Common.EnumType.OperationState.Run
  card:
    type: tile
    name: Spülmaschine läuft
    card_mod:
      style: >
        ha-card { background: rgba(30,136,229,0.15) !important;
        border: 1px solid rgba(30,136,229,0.3) !important; }

Drei Zustände, drei verschiedene Karten, keine Redundanz.

Licht — zwei Ebenen, ein Prinzip

Licht folgt einem zweistufigen Muster. Beide Ebenen sind davon abhängig, dass etwas eingeschaltet ist.

Ebene 1 — Schnellaktionen: Wenn irgendein Licht an ist, erscheint oben eine bernsteinfarbene Karte mit der Anzahl und einem einzigen Tipp zum Ausschalten von allem:

- type: conditional
  conditions:
    - condition: or
      conditions:
        - condition: state
          entity: light.decke_1
          state: "on"
        # ... alle Lichter
  card:
    type: custom:mushroom-template-card  # HACS, card_mod (HACS) für die inline CSS-Styles
    primary: Lichter an
    secondary: >
      {% set l = ['light.decke_1','light.decke_2','light.ecke',
                  'light.flutlichter','light.bodenlichter']
         | select('is_state','on') | list | count %}
      {% set c = 1 if is_state('switch.lichterkette','on') else 0 %}
      {{ l + c }} Lichter an – Tippen zum Ausschalten aller
    icon: mdi:lightbulb-group
    icon_color: amber
    tap_action:
      action: perform-action
      perform_action: homeassistant.turn_off
      target:
        entity_id:
          - light.decke_1
          - light.decke_2
          - light.ecke
          - light.flutlichter
          - light.bodenlichter
          - switch.lichterkette
    card_mod:
      style: >
        ha-card { background: rgba(255,152,0,0.10) !important;
        border: 1px solid rgba(255,152,0,0.25) !important; }

Ein Tipp. Keine Navigation, keine Bestätigung, alles aus. Das ist die Karte, die ich in 90 % der Fälle benutze.

Ebene 2 — Home-Status: Wenn Innenlichter speziell eingeschaltet sind, erscheinen die einzelnen Mushroom-Lichtkarten weiter unten — mit vollständigen Helligkeitsschiebern und Farbtemperatursteuerung. Nicht nur Ein/Aus. Wenn man das Licht angelassen hat und im Raum steht und es dimmen möchte, sind die Bedienelemente direkt da, ohne woanders hinzunavigieren.

Der Außenbereich funktioniert genauso, wird aber bei Sonnenuntergang ODER wenn ein Außenlicht an ist ausgelöst. Mittags: unsichtbar. Um 21:30 Uhr: da mit einzelnen Steuerelementen für Flutlichter, Bodenlichter und Lichterkette.

Die zwei Ebenen decken unterschiedliche Bedürfnisse ab. Schnellaktionen sind für “ich gehe, alles aus.” Home-Status ist für “ich bin hier und möchte einstellen.” Gleiche bedingte Logik, unterschiedliche Steuerungstiefe.

Der Škoda-Bereich ändert sich je nach Kontext

Das Auto wird immer angezeigt — Schlossstatus, ob es zu Hause ist. Was darunter erscheint, hängt davon ab, ob das Ladekabel angeschlossen ist.

Ladekabel nicht angeschlossen: eine Karte — “Klima Boost”. Auto vorheizen bevor man losfährt, ein Tipp.

Ladekabel angeschlossen: zwei Karten nebeneinander — “Klima Boost” und “Kabel entriegeln”. Die Schaltfläche zum Entriegeln des Ladekabels ergibt nur Sinn, wenn das Kabel physisch eingesteckt ist. Also erscheint sie nur dann.

- type: conditional
  conditions:
    - condition: state
      entity: binary_sensor.skoda_elroq_charger_connected
      state: "on"
  card:
    type: horizontal-stack
    cards:
      - # Klima Boost
      - type: custom:mushroom-template-card
        primary: Kabel entriegeln
        secondary: Tippen um Ladekabel freizugeben
        icon_color: orange

Das ist das Muster, das ich überall verwendet habe: keine Bedienelemente anzeigen, die für den aktuellen Gerätezustand nicht relevant sind.

Home-Status — der Bereich, der seinen Inhalt verdienen muss

Der Home-Status-Bereich enthält mehrere bedingte Karten. Alle brauchen etwas Aktives:

  • Wohnzimmerlicht — nur sichtbar wenn mindestens ein Innenlicht an ist. Wenn es erscheint, zeigt es vollständige Mushroom-Lichtkarten mit Dimmerschiebern. Man ist schon dort, weil etwas an ist — also volle Kontrolle.
  • Außenbereich — erscheint wenn die Sonne unter dem Horizont ist ODER ein Außenlicht an ist. Mittags an einem sonnigen Tag: weg. Um 21:30 Uhr oder wenn die Flutlichter an sind: da.
  • Roborock — nur wenn nicht geparkt und nicht im Leerlauf. Saugt, kehrt zurück, pausiert, Fehler — anzeigen. Sitzt in der Ladestation: irrelevant.
  • Flora — gleiche Logik. Mäht oder kehrt zurück: Status anzeigen. Geparkt: nichts.

Die Bildschirmlänge ist das Signal

Das habe ich nicht sofort bemerkt. Nach ein paar Wochen merkte ich, dass ich die Bildschirmlänge las bevor ich den Inhalt las. Kurzer Bildschirm: ruhiger Tag, nichts braucht Aufmerksamkeit. Langer Bildschirm: irgendetwas ist los — scrollen und herausfinden was.

Die Mülllkarte erscheint nur innerhalb von 3 Tagen vor der Abholung. Den Großteil des Jahres ist sie nicht da. Die Woche vor der Abholung erscheint sie mit farbkodiertem Countdown: Orange bei 3 Tagen, Dunkelorange bei 2, Rot bei 1. Seitdem habe ich die Tonne nicht mehr vergessen.

Die Energiekarte ist immer da — aktueller Preis und wann das nächste günstige Fenster ist. Die hat ihren Dauerplatz verdient, weil sie tatsächlich ändert was ich tue. Ich plane Spülmaschine und Trockner danach.

Was niemals erscheint

Nichts für “alles in Ordnung”. Keine Karte die sagt, das Auto ist zu Hause und abgeschlossen. Keine Bestätigung dass der Roboter geparkt ist. Das Fehlen einer Karte teilt einem das mit.

Das war der Teil, dem am längsten zu trauen dauerte. Wenn der Bildschirm kurz ist, ist der Instinkt zu fragen ob etwas kaputt ist. Ist es nicht. Kurz bedeutet ruhig.