Zum Inhalt springen
Alles Automatisch

DashboardÜbersicht

Dashboard

Dashboard-View 'Dashboard' mit 33 Karten. Teil des Haupt-Dashboards.

So übernimmst du sie

Drei Schritte, dann läuft sie bei dir.

  1. 1

    Das brauchst du

    • Kamera-IntegrationIntegration
    • Jalousie/Rolladen-IntegrationIntegration
    • Schloss-Integration (z.B. Nuki)Integration
    • LichtGerät
    • Schalter/SteckdoseGerät
    • BinärsensorGerät
    • SensorGerät
    • SchalterHelfer
  2. 2

    Platzhalter durch deine Entities ersetzen

    Meine Entity-IDs sind durch Platzhalter ersetzt. Deine eigenen findest du unter Einstellungen → Geräte & Dienste → Entitäten.

    DEINE_MUELLABFUHR
    Dein Kalender für die Müllabfuhr (z.B. calendar.muellabfuhr)
    DEIN_KALENDER
    Dein Kalender (z.B. calendar.privat)
    DEINE_INNENKAMERA_2×
    Ersetze DEINE_INNENKAMERA_1, DEINE_INNENKAMERA_2 jeweils durch eine deiner Innenkameras (z.B. camera.wohnzimmer)
    DEIN_YOUTUBE_ABONNENTEN
    Dein Sensor für die Abonnentenzahl (z.B. sensor.kanal_abonnenten)
    DEIN_YOUTUBE_KANALAUFRUFE
    Dein Sensor für die Kanalaufrufe (z.B. sensor.kanal_aufrufe)
  3. 3

    Einfügen

    Dashboard öffnenDashboard bearbeitenRaw-Konfigurationseditor

    Der Raw-Konfigurationseditor ersetzt das ganze Dashboard. Für eine einzelne Karte stattdessen eine Karte hinzufügen und dort den YAML-Code einfügen.

    Übersicht: Dashboard
    # Entity-IDs sind anonymisiert. Ersetze sie durch deine eigenen.
    # Beispiel: light.dein_wohnzimmer_licht -> light.wohnzimmer_deckenlampe
    title: Dashboard
    type: sections
    path: dashboard
    max_columns: 3
    theme: Catppuccin Latte
    sections:
    - type: grid
      cards:
      - type: heading
        heading_style: title
        icon: ''
      - type: custom:mushroom-template-card
        primary: Dad Joke of the Day
        secondary: '{{ states(''sensor.joke_of_the_day'') }}'
        icon: mdi:emoticon-excited
        multiline_secondary: true
        icon_color: yellow
        grid_options:
          columns: 12
          rows: auto
      - type: vertical-stack
        cards:
        - content:
          - light
          - media_player
          - climate
          - switch
          - vacuum
          - lawn_mower
          - water_heater
          - remote
          - Cover - garage
          - Cover - shutter
          - Binary Sensor - door
          - Binary Sensor - motion
          - Binary Sensor - presence
          - Binary Sensor - occupancy
          - Binary Sensor - vibration
          - Binary Sensor - plug
          - Binary Sensor - battery_charging
          - Binary Sensor - running
          - Binary Sensor - connectivity
          - Binary Sensor - opening
          - Binary Sensor - problem
          - Binary Sensor - safety
          - Binary Sensor - smoke
          - update
          - device_tracker
          - input_boolean
          - counter
          - calendar
          type: custom:status-card
          showPerson: false
          showPersonName: false
          showBadgeName: false
          bulkMode: true
          hidden_entities:
          - water_heater.smos40_hot_water
          - binary_sensor.tv_bereich
          - button.fritz_box_7590_ax_neu_verbinden
          - fritz_box_7590_ax_verbinden
          - binary_sensor.fritz_box_7590_ax_verbindung
          - binary_sensor.fritz_box_7590_ax_verbinden
          - binary_sensor.jemand_zuhause
          - cover.smart_garage_door_2303135823591961070148e1e9bdae4c_garage
          hide:
            calendar: true
            counter: true
            input_boolean: true
            timer: true
            device_tracker: true
            update: true
            water_heater: true
            remote: true
            lawn_mower: true
            valve: true
            fan: true
            humidifier: true
            vacuum: true
            media_player: true
            climate: true
            siren: true
            alarm_control_panel: true
          columns: 4
          hide_person: false
          hide_person_name: false
          list_mode: false
          hide_content_name: false
          customization: []
          content_layout: horizontal
          no_scroll: false
      - type: vertical-stack
        cards:
        - square: false
          type: grid
          cards:
          - show_current: true
            show_forecast: true
            type: weather-forecast
            entity: weather.pirateweather
            forecast_type: daily
            secondary_info_attribute: wind_speed
          columns: 1
      - type: vertical-stack
        cards:
        - event_grouping: true
          drop_todayevents_from: '48:00:00'
          next_days: 7
          pattern:
          - type: others
            color: ''
            icon: mdi:delete-variant
          - pattern: Restmülltonne
            type: waste
            color: ''
            icon: mdi:trash-can-outline
          - pattern: Papiertonne
            type: paper
            color: ''
            icon: mdi:recycle
          - pattern: Biotonne
            label: Biotonne
            type: organic
            color: ''
            icon: mdi:fruit-pineapple
          - pattern: Gelbe Tonne/Säcke
            type: recycle
            color: ''
            icon: mdi:bottle-soda-classic-outline
          day_style: counter
          day_style_format: yyyy.MM.dd
          card_style: card
          alignment_style: left
          color_mode: icon
          items_per_row: 1
          refresh_rate: 60
          with_label: true
          layout: horizontal
          type: custom:trash-card
          full_size: false
          filter_events: true
          use_summary: false
          fill_container: false
          entities:
          - calendar.DEINE_MUELLABFUHR
          hide_time_range: false
      - entities:
        - calendar.DEIN_KALENDER
        show_countdown: true
        weather:
          position: event
          date:
            show_conditions: true
            show_high_temp: true
            show_low_temp: false
            icon_size: 14px
            font_size: 12px
            color: var(--primary-text-color)
          event:
            show_conditions: true
            show_temp: true
            icon_size: 14px
            font_size: 12px
            color: var(--primary-text-color)
          entity: weather.forecast_home
        type: custom:calendar-card-pro
      - type: conditional
        conditions:
        - entity: binary_sensor.school_in_session
          state: 'on'
        card:
          type: custom:mushroom-template-card
          primary: '{{ states(''sensor.school_current_subject'') }}'
          secondary: '{{ state_attr(''sensor.school_current_subject'', ''current_start'') }} – {{ state_attr(''sensor.school_current_subject'',
            ''current_end'') }}
    
            '
          icon: mdi:school
          icon_color: indigo
          layout: vertical
          tap_action:
            action: more-info
      - type: custom:vehicle-status-card
        layout_config:
          button_grid:
            rows: 2
            columns: 2
            swipe: true
          theme_config:
            mode: auto
            theme: default
          section_order:
          - indicators
          - range_info
          - images
          - mini_map
          - buttons
          images_swipe:
            autoplay: true
        name: Dein Auto
        mini_map:
          hide_map_address: true
          device_tracker: device_tracker.standort
        images:
        - image: /api/image/serve/a71fd7a65e139f9f62e35d45dc732d0c/original
        - image: /api/image/serve/9b24e4e174254413d1c00498410761bc/original
        - image: /api/image/serve/fc7ebe9ac9fb0d65c58eff87f5b64620/original
        indicator_rows:
        - row_items:
          - entity: lock.schloss
            icon: mdi:lock
            type: entity
            show_name: true
            show_state: true
            show_icon: true
            tap_action:
              action: more-info
          - entity: cover.fenster
            icon: mdi:car-door
            type: entity
            show_name: true
            show_state: true
            show_icon: true
            tap_action:
              action: more-info
          - entity: sensor.ladestatus
            icon: mdi:ev-plug-type2
            type: entity
            show_name: true
            show_state: true
            show_icon: true
            tap_action:
              action: more-info
        - row_items:
          - type: entity
            show_name: false
            show_state: true
            show_icon: true
            show_entity_picture: false
            include_state_template: false
            tap_action:
              action: more-info
            entity: sensor.batteriestand
          - type: entity
            show_name: true
            show_state: true
            show_icon: true
            show_entity_picture: false
            include_state_template: false
            tap_action:
              action: more-info
            entity: sensor.batteriereichweite
          - type: entity
            show_name: true
            show_state: true
            show_icon: true
            show_entity_picture: false
            include_state_template: false
            tap_action:
              action: more-info
            entity: sensor.innentemperatur
      - type: vertical-stack
        cards:
        - show_name: false
          show_icon: true
          show_state: true
          type: glance
          entities:
          - entity: sensor.solaredge_solar_energie
          - entity: sensor.solaredge_stromverbrauch
          - entity: sensor.solaredge_speicherniveau
          - entity: sensor.solaredge_exportierte_energie
          state_color: true
          columns: 4
          title: Solaranlage
        - type: horizontal-stack
          cards:
          - type: entity
            name: Erzeugte Energie
            entity: sensor.erzeugte_energie_tag_kwh
            icon: mdi:solar-power-variant
          - type: entity
            name: Verbrauchte Energie
            entity: sensor.verbrauchte_energie_tag_kwh
            icon: mdi:home-lightning-bolt
        - type: custom:mushroom-title-card
          title: ''
      column_span: 1
    - type: grid
      cards:
      - type: heading
        heading: Büro
        heading_style: title
        icon: mdi:chair-rolling
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: menu
          - type: entity
            entity: sensor.temperatursensor_temperatur
            icon_color: orange
          - type: entity
            entity: sensor.temperatursensor_luftfeuchtigkeit
            icon_color: indigo
          - type: template
            content: "{% set total = 0 %}\n{% if is_state('light.treiber', 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n\
              {% if is_state('light.plattenspieler_outlet', 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n{% if is_state('light.highboard_outlet',\
              \ 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n{{total}} Lampen"
            icon: mdi:lightbulb-group
            icon_color: "{% if is_state('scene.burobeleuchtung_einschalten', 'on') %}\n  orange\n{% else %}\n  grey\n{% endif\
              \ %}"
            tap_action:
              action: more-info
            entity: scene.burobeleuchtung_ausschalten
          - type: template
            icon: "{% if is_state('binary_sensor.buro_contact', 'off') %}\n  mdi:window-closed\n{% else %}\n  mdi:window-open\n\
              {% endif %}"
            content: "{% set total = 0 %}\n{% if is_state('binary_sensor.buro_contact', 'off') %}\n  {% set total = total + 1\
              \ %}\n{% endif %}\n{% if is_state('binary_sensor.om_buro_contact', 'off') %}\n  {% set total = total + 1 %}\n{%\
              \ endif %}"
            icon_color: "{% set total = 0 %}\n{% if is_state('binary_sensor.buro_contact', 'off') %}\n  {% set total = total +\
              \ 1 %}\n{% endif %}\n{% if is_state('binary_sensor.om_buro_contact', 'off') %}\n  {% set total = total + 1 %}\n\
              {% endif %}\n{% if total == 2 %}\n  green\n{% else %}\n  red\n{% endif %}"
            tap_action:
              action: more-info
            entity: binary_sensor.buro_contact
          - type: template
            entity: input_boolean.aufnahme_aktiv
            icon: '{% if is_state(''input_boolean.aufnahme_aktiv'', ''on'') %}mdi:stop-circle{% else %}mdi:record-rec{% endif
              %}'
            icon_color: '{% if is_state(''input_boolean.aufnahme_aktiv'', ''on'') %}red{% else %}grey{% endif %}'
            tap_action:
              action: perform-action
              perform_action: input_boolean.toggle
              target:
                entity_id: input_boolean.aufnahme_aktiv
          alignment: start
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            layout: vertical
            name: Vitrine
            icon: mdi:toy-brick
            entity: light.vitrinenbeleuchtung
          - type: custom:mushroom-light-card
            layout: vertical
            name: Highboard
            icon: mdi:toggle-switch-variant
            entity: light.highboard_outlet
          - type: custom:mushroom-entity-card
            icon: m3o:android-camera
            layout: vertical
            name: Kamera
            tap_action:
              action: toggle
            entity: switch.kamera_outlet
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            layout: horizontal
            name: LEGO
            icon: mdi:toy-brick
            entity: light.lego_vitrine_outlet
          - type: custom:mushroom-light-card
            layout: horizontal
            icon: mdi:toggle-switch-variant
            entity: light.hintergrundbeleuchtung
          - type: custom:mushroom-light-card
            layout: horizontal
            icon: ''
            entity: light.headlights
            name: Strahler
        - type: custom:mushroom-light-card
          layout: horizontal
          name: Schreibtisch
          icon: mdi:desk-lamp
          entity: light.schreibtischbeleuchtung
          show_color_control: true
          collapsible_controls: true
          show_brightness_control: true
          show_color_temp_control: true
          use_light_color: true
        - type: custom:mushroom-cover-card
          show_position_control: true
          layout: horizontal
          show_buttons_control: true
          show_tilt_position_control: false
          entity: cover.buro
          name: Jalousien
      - type: heading
        heading: Wohnzimmer
        heading_style: title
        icon: mdi:sofa-outline
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: entity
            entity: sensor.temperatursensor_wohnzimmerschrank_temperatur
            icon_color: orange
          - type: entity
            entity: sensor.temperatursensor_wohnzimmerschrank_luftfeuchtigkeit
            icon_color: indigo
          - type: template
            content: "{% set total = 0 %}\n{% if is_state('light.wohnzimmerlampe', 'on') %}\n  {% set total = total + 1 %}\n{%\
              \ endif %}\n{% if is_state('light.stehlampe_outlet', 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n{% if\
              \ is_state('light.gluhbirne_outlet', 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n{{total}} Lampen"
            icon: mdi:lightbulb-group
            icon_color: "{% if is_state('light.licht_wohnzimmer', 'on') %}\n  orange\n{% elif is_state(\"light.gluhbirne_outlet\"\
              , \"on\") %}\n  orange\n{% elif is_state(\"light.stehlampe_outlet\", \"on\") %}\n  orange\n{% else %}\n  grey\n\
              {% endif %}"
            tap_action:
              action: more-info
            entity: light.licht_wohnzimmer
            hold_action:
              action: perform-action
              perform_action: light.turn_off
              target:
                area_id: wohnzimmer
          - type: template
            icon: "{% if is_state('binary_sensor.om_wohnz_1_contact', 'off') %}\n  mdi:door-closed\n{% else %}\n  mdi:door-open\n\
              {% endif %}"
            content: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_wohnz_1_contact', 'off') %}\n  {% set total = total\
              \ + 1 %}\n{% endif %}\n{% if is_state('binary_sensor.om_wohnz_2_contact', 'off') %}\n  {% set total = total + 1\
              \ %}\n{% endif %}\n{% if is_state('binary_sensor.om_wohnz_3_contact', 'off') %}\n  {% set total = total + 1 %}\n\
              {% endif %}\n{% if is_state('binary_sensor.om_wohnz_4_contact', 'off') %}\n  {% set total = total + 1 %}\n{% endif\
              \ %}\n{{total}} Türen"
            icon_color: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_wohnz_1_contact', 'off') %}\n  {% set total = total\
              \ + 1 %}\n{% endif %}\n{% if is_state('binary_sensor.om_wohnz_2_contact', 'off') %}\n  {% set total = total + 1\
              \ %}\n{% endif %}\n{% if is_state('binary_sensor.om_wohnz_3_contact', 'off') %}\n  {% set total = total + 1 %}\n\
              {% endif %}\n{% if is_state('binary_sensor.om_wohnz_4_contact', 'off') %}\n  {% set total = total + 1 %}\n{% endif\
              \ %}\n{% if total == 4 %}\n  green\n{% else %}\n  red\n{% endif %}"
            tap_action:
              action: more-info
            entity: binary_sensor.om_wohnz_1_contact
          alignment: start
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            name: Strahler
            icon: mdi:ceiling-light-multiple
            entity: light.licht_wohnzimmer
          - type: custom:mushroom-light-card
            name: Stehlampe
            icon: mdi:ceiling-light-multiple
            entity: light.stehlampe_outlet
          - type: custom:mushroom-light-card
            name: Vitrine
            icon: mdi:ceiling-light-multiple
            entity: light.vitrine_wohnzimmer
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            show_brightness_control: true
            collapsible_controls: true
            entity: light.stehlampeschlafzimmer
            name: U-Lampe
            layout: horizontal
        - type: custom:mushroom-cover-card
          show_position_control: true
          layout: horizontal
          show_buttons_control: true
          show_tilt_position_control: false
          entity: cover.wohnzimmer
          name: Jalousien
      - type: heading
        heading: Flur
        heading_style: title
        icon: mdi:image-frame
      - type: vertical-stack
        cards:
        - type: vertical-stack
          cards:
          - type: custom:mushroom-chips-card
            chips:
            - type: menu
            - type: template
              content: "{% set total = 0 %}\n{% if is_state('light.licht_flur_eg', 'on') %}\n  {% set total = total + 1 %}\n{%\
                \ endif %}\n{% if is_state('light.koogeek_p1_1fa3fc_outlet', 'on') %}\n  {% set total = total + 1 %}\n{% endif\
                \ %}\n{% if is_state('light.licht_treppe', 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n{{total}} Lampen"
              icon: mdi:lightbulb-group
              icon_color: "{% if is_state('light.licht_flur_eg', 'on') %}\n  orange\n{% elif is_state(\"light.koogeek_p1_1fa3fc_outlet\"\
                , \"on\") %}\n  orange\n{% elif is_state(\"light.licht_treppe\", \"on\") %}\n  orange\n{% else %}\n  grey\n{%\
                \ endif %}"
              tap_action:
                action: more-info
              entity: light.licht_wohnzimmer
              hold_action:
                action: perform-action
                perform_action: light.turn_off
                target:
                  area_id: flur
            - type: template
              icon: "{% if is_state('binary_sensor.om_eingangstur_contact', 'off') %}\n  mdi:door-closed\n{% else %}\n  mdi:door-open\n\
                {% endif %}"
              content: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_eingangstur_contact', 'off') %}\n  {% set total\
                \ = total + 1 %}\n{% endif %}"
              icon_color: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_eingangstur_contact', 'on') %}\n  {% set total\
                \ = total + 1 %}\n{% endif %}\n{% if total == 0 %}\n  green\n{% else %}\n  red\n{% endif %}"
              tap_action:
                action: more-info
              entity: binary_sensor.om_eingangstur_contact
            - type: entity
              entity: sensor.bewegungsmelder_temperatur
              use_entity_picture: true
            alignment: start
          - type: horizontal-stack
            cards:
            - type: custom:mushroom-light-card
              name: Eingang
              icon: mdi:ceiling-light-multiple
              entity: light.licht_flur_eg
            - type: custom:mushroom-light-card
              name: Treppe
              icon: mdi:stairs
              entity: light.licht_treppe
          - camera_view: auto
            fit_mode: cover
            type: picture-glance
            entities: []
            camera_image: camera.DEINE_INNENKAMERA_2
      - type: heading
        heading: HWR
        heading_style: title
        icon: mdi:washing-machine
      - type: custom:mushroom-entity-card
        entity: binary_sensor.waschmaschine_running
        tap_action:
          action: more-info
        icon: mdi:washing-machine
        icon_color: blue
        name: Waschmaschine
        card_mod:
          style:
            mushroom-shape-icon$: ".shape {\n  {# ========== USER CONFIG ========== #}\n  {# true = number mode, false = state\
              \ mode #}\n  {% set use_number      = true %}\n\n  {# STATE MODE SETTINGS #}\n  {% set state_entity    = 'binary_sensor.waschmaschine_running'\
              \ %}\n  {% set active_value    = 'on' %}\n\n  {# OPTIONAL: NUMBER MODE SETTINGS #}\n  {% set number_entity   = 'sensor.waschmaschine_program_progress'\
              \ %}\n  \n  {# '>' '<' '=' '>=' '<=' #}\n  {% set number_operator = '>' %}\n  \n  {% set threshold       = 0.0 %}\n\
              \  {# ========== END USER CONFIG ====== #}\n\n  {# ======== TRIGGER DECISION LOGIC ======== #}\n  {% if use_number\
              \ %}\n    {% set num = states(number_entity) | float(0) %}\n    {% if number_operator == '>' %}\n      {% set trigger_active\
              \ = (num > threshold) %}\n    {% elif number_operator == '<' %}\n      {% set trigger_active = (num < threshold)\
              \ %}\n    {% elif number_operator == '=' %}\n      {% set trigger_active = (num == threshold) %}\n    {% elif number_operator\
              \ == '>=' %}\n      {% set trigger_active = (num >= threshold) %}\n    {% elif number_operator == '<=' %}\n    \
              \  {% set trigger_active = (num <= threshold) %}\n    {% else %}\n      {% set trigger_active = false %}\n    {%\
              \ endif %}\n  {% else %}\n    {% set trigger_active = (states(state_entity) == active_value) %}\n  {% endif %}\n\
              \  {# =========== END TRIGGER LOGIC =========== #}\n\n  {% if trigger_active %}\n    --shape-animation: wash-cycle\
              \ 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\n    opacity: 1;\n  {% else %}\n    --shape-animation: none;\n\
              \    opacity: 0.8;\n  {% endif %}\n\n  transform-origin: 50% 55%;\n}\n\n@keyframes wash-cycle {\n  0%   { transform:\
              \ translateY(0) rotate(-8deg) scale(1); box-shadow: 0 0 0 0 rgba(var(--rgb-{{ config.icon_color }}), 0.5); }\n \
              \ 20%  { transform: translateY(-3px) rotate(8deg) scale(1.02); box-shadow: 0 0 8px 4px rgba(var(--rgb-{{ config.icon_color\
              \ }}), 0.3); }\n  40%  { transform: translateY(2px) rotate(-6deg) scale(1.01); }\n  60%  { transform: translateY(-2px)\
              \ rotate(6deg) scale(1.02); }\n  80%  { transform: translateY(1px) rotate(-4deg) scale(1.01); }\n  100% { transform:\
              \ translateY(0) rotate(-8deg) scale(1); box-shadow: 0 0 0 0 rgba(var(--rgb-{{ config.icon_color }}), 0.2); }\n}\n\
              \n@keyframes wash-idle {\n  0%   { transform: rotate(0deg); }\n  50%  { transform: rotate(2deg); }\n  100% { transform:\
              \ rotate(0deg); }\n}\n"
            .: "mushroom-shape-icon {\n  --icon-size: 65px;\n  display: flex;\n  margin: -22px 0 10px -22px !important;\n  padding-right:\
              \ 10px;\n}\nha-card {\n  clip-path: inset(0 0 0 0 round var(--ha-card-border-radius, 12px));\n}\n"
      - type: custom:mushroom-entity-card
        entity: sensor.trockner_status
        tap_action:
          action: more-info
        icon: mdi:tumble-dryer
        icon_color: orange
        name: Trockner
        card_mod:
          style:
            mushroom-shape-icon$: ".shape {\n  {# ========== USER CONFIG ========== #}\n  {# true = number mode, false = state\
              \ mode #}\n  {% set use_number      = false %}\n\n  {# STATE MODE SETTINGS #}\n  {% set state_entity    = 'sensor.trockner_status'\
              \ %}\n  {% set active_value    = 'run' %}\n\n  {# OPTIONAL: NUMBER MODE SETTINGS #}\n  {% set number_entity   =\
              \ 'sensor.waschmaschine_program_progress' %}\n  \n  {# '>' '<' '=' '>=' '<=' #}\n  {% set number_operator = '>'\
              \ %}\n  \n  {% set threshold       = 0.0 %}\n  {# ========== END USER CONFIG ====== #}\n\n  {# ======== TRIGGER\
              \ DECISION LOGIC ======== #}\n  {% if use_number %}\n    {% set num = states(number_entity) | float(0) %}\n    {%\
              \ if number_operator == '>' %}\n      {% set trigger_active = (num > threshold) %}\n    {% elif number_operator\
              \ == '<' %}\n      {% set trigger_active = (num < threshold) %}\n    {% elif number_operator == '=' %}\n      {%\
              \ set trigger_active = (num == threshold) %}\n    {% elif number_operator == '>=' %}\n      {% set trigger_active\
              \ = (num >= threshold) %}\n    {% elif number_operator == '<=' %}\n      {% set trigger_active = (num <= threshold)\
              \ %}\n    {% else %}\n      {% set trigger_active = false %}\n    {% endif %}\n  {% else %}\n    {% set trigger_active\
              \ = (states(state_entity) == active_value) %}\n  {% endif %}\n  {# =========== END TRIGGER LOGIC =========== #}\n\
              \n  {% if trigger_active %}\n    --shape-animation: wash-cycle 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\n\
              \    opacity: 1;\n  {% else %}\n    --shape-animation: none;\n    opacity: 0.8;\n  {% endif %}\n\n  transform-origin:\
              \ 50% 55%;\n}\n\n@keyframes wash-cycle {\n  0%   { transform: translateY(0) rotate(-8deg) scale(1); box-shadow:\
              \ 0 0 0 0 rgba(var(--rgb-{{ config.icon_color }}), 0.5); }\n  20%  { transform: translateY(-3px) rotate(8deg) scale(1.02);\
              \ box-shadow: 0 0 8px 4px rgba(var(--rgb-{{ config.icon_color }}), 0.3); }\n  40%  { transform: translateY(2px)\
              \ rotate(-6deg) scale(1.01); }\n  60%  { transform: translateY(-2px) rotate(6deg) scale(1.02); }\n  80%  { transform:\
              \ translateY(1px) rotate(-4deg) scale(1.01); }\n  100% { transform: translateY(0) rotate(-8deg) scale(1); box-shadow:\
              \ 0 0 0 0 rgba(var(--rgb-{{ config.icon_color }}), 0.2); }\n}\n\n@keyframes wash-idle {\n  0%   { transform: rotate(0deg);\
              \ }\n  50%  { transform: rotate(2deg); }\n  100% { transform: rotate(0deg); }\n}\n"
            .: "mushroom-shape-icon {\n  --icon-size: 65px;\n  display: flex;\n  margin: -22px 0 10px -22px !important;\n  padding-right:\
              \ 10px;\n}\nha-card {\n  clip-path: inset(0 0 0 0 round var(--ha-card-border-radius, 12px));\n}\n"
      - type: heading
        heading: Badezimmer
        heading_style: title
        icon: m3o:bathroom
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: menu
          - type: entity
            entity: sensor.luftsensor_luftfeuchtigkeit
          - type: entity
            entity: sensor.luftsensor_pm2_5
          - type: entity
            entity: sensor.luftsensor_temperatur
            use_entity_picture: false
          alignment: start
        - type: custom:mushroom-cover-card
          show_position_control: true
          layout: horizontal
          show_buttons_control: true
          show_tilt_position_control: false
          entity: cover.elternbad
          name: Jalousie
    - type: grid
      cards:
      - type: heading
        heading: Küche
        heading_style: title
        icon: mdi:fridge-outline
        grid_options:
          columns: 12
          rows: 1
      - type: vertical-stack
        cards:
        - type: vertical-stack
          cards:
          - type: custom:mushroom-chips-card
            chips:
            - type: menu
            - type: template
              icon: "{% if is_state('binary_sensor.om_kuche_contact', 'off') %}\n  mdi:window-closed\n{% else %}\n  mdi:window-open\n\
                {% endif %}"
              content: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_kuche_contact', 'off') %}\n  {% set total = total\
                \ + 1 %}\n{% endif %}"
              icon_color: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_kuche_contact', 'on') %}\n  {% set total = total\
                \ + 1 %}\n{% endif %}\n{% if total == 0 %}\n  green \n{% else %}\n  red\n{% endif %}"
              tap_action:
                action: more-info
              entity: binary_sensor.om_kuche_contact
            - type: entity
              entity: sensor.luftsensor_temperatur
            - type: entity
              entity: sensor.luftsensor_pm2_5
            - type: entity
              entity: sensor.luftsensor_luftfeuchtigkeit
              use_entity_picture: false
            alignment: start
          - type: custom:mushroom-cover-card
            show_position_control: true
            layout: horizontal
            show_buttons_control: true
            show_tilt_position_control: false
            entity: cover.kuche
            name: Jalousien
          - type: entities
            entities:
            - entity: switch.kaffeevollautomat_power
              name: Kaffeemaschine
              icon: mdi:coffee-maker-outline
              secondary_info: none
      - type: vertical-stack
        cards:
        - type: vertical-stack
          cards:
          - type: custom:mushroom-entity-card
            entity: sensor.geschirrspuler_program_progress
            tap_action:
              action: more-info
            icon: mdi:dishwasher
            icon_color: blue
            name: Geschirrspüler
            layout: horizontal
            fill_container: false
            card_mod:
              style:
                mushroom-shape-icon$: ".shape {\n  {# ========== USER CONFIG ========== #}\n  {# true = number mode, false = state\
                  \ mode #}\n  {% set use_number      = true %}\n\n  {# STATE MODE SETTINGS #}\n  {% set state_entity    = 'sensor.geschirrspuler_operation_state'\
                  \ %}\n  {% set active_value    = 'run' %}\n\n  {# OPTIONAL: NUMBER MODE SETTINGS #}\n  {% set number_entity\
                  \   = 'sensor.geschirrspuler_program_progress' %}\n  \n  {# '>' '<' '=' '>=' '<=' #}\n  {% set number_operator\
                  \ = '>' %}\n  \n  {% set threshold       = 0.0 %}\n  {# ========== END USER CONFIG ====== #}\n\n  {# ========\
                  \ TRIGGER DECISION LOGIC ======== #}\n  {% if use_number %}\n    {% set num = states(number_entity) | float(0)\
                  \ %}\n    {% if number_operator == '>' %}\n      {% set trigger_active = (num > threshold) %}\n    {% elif number_operator\
                  \ == '<' %}\n      {% set trigger_active = (num < threshold) %}\n    {% elif number_operator == '=' %}\n   \
                  \   {% set trigger_active = (num == threshold) %}\n    {% elif number_operator == '>=' %}\n      {% set trigger_active\
                  \ = (num >= threshold) %}\n    {% elif number_operator == '<=' %}\n      {% set trigger_active = (num <= threshold)\
                  \ %}\n    {% else %}\n      {% set trigger_active = false %}\n    {% endif %}\n  {% else %}\n    {% set trigger_active\
                  \ = (states(state_entity) == active_value) %}\n  {% endif %}\n  {# =========== END TRIGGER LOGIC ===========\
                  \ #}\n\n  {% if trigger_active %}\n    --shape-animation: dishwasher-swash 1.5s ease-in-out infinite;\n    opacity:\
                  \ 1;\n  {% else %}\n    --shape-animation: none;\n    opacity: 0.8;\n  {% endif %}\n\n  transform-origin: 50%\
                  \ 55%;\n}\n\n@keyframes dishwasher-swash {\n  0% {\n    transform: scale(1) rotate(0deg);\n    box-shadow:\n\
                  \      0 0 0 0 rgba(var(--rgb-{{ config.icon_color }}), 0.8),\n      0 0 0 0 rgba(var(--rgb-{{ config.icon_color\
                  \ }}), 0.3);\n    filter: blur(0);\n  }\n  25% {\n    transform: scale(1.03) rotate(10deg);\n    box-shadow:\n\
                  \      0 0 10px 3px rgba(var(--rgb-{{ config.icon_color }}), 0.9),\n      0 0 18px 8px rgba(var(--rgb-{{ config.icon_color\
                  \ }}), 0.3);\n    filter: blur(0.4px);\n  }\n  50% {\n    transform: scale(0.98) rotate(-15deg);\n    box-shadow:\n\
                  \      0 0 14px 6px rgba(var(--rgb-{{ config.icon_color }}), 0.7),\n      0 0 26px 12px rgba(var(--rgb-{{ config.icon_color\
                  \ }}), 0.2);\n    filter: blur(0.6px);\n  }\n  75% {\n    transform: scale(1.04) rotate(15deg);\n    box-shadow:\n\
                  \      0 0 10px 3px rgba(var(--rgb-{{ config.icon_color }}), 0.9),\n      0 0 18px 8px rgba(var(--rgb-{{ config.icon_color\
                  \ }}), 0.3);\n    filter: blur(0.4px);\n  }\n  100% {\n    transform: scale(1) rotate(0deg);\n    box-shadow:\n\
                  \      0 0 0 0 rgba(var(--rgb-{{ config.icon_color }}), 0.0),\n      0 0 0 0 rgba(var(--rgb-{{ config.icon_color\
                  \ }}), 0.0);\n    filter: blur(0);\n  }\n}\n\n@keyframes dishwasher-idle {\n  0%   { transform: scale(1); }\n\
                  \  50%  { transform: scale(1.02); }\n  100% { transform: scale(1); }\n}\n"
                .: "mushroom-shape-icon {\n  --icon-size: 65px;\n  display: flex;\n  margin: -18px 0 10px -20px !important;\n\
                  \  padding-right: 10px;\n}\nha-card {\n  clip-path: inset(0 0 0 0 round var(--ha-card-border-radius, 12px));\n\
                  }\n"
        visibility:
        - condition: state
          entity: sensor.geschirrspuler_operation_state
          state: run
      - type: heading
        heading: Esszimmer
        heading_style: title
        icon: mdi:table-furniture
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: template
            content: "{% set total = 0 %}\n{% if is_state('light.licht_essbereich', 'on') %}\n  {% set total = total + 1 %}\n\
              {% endif %}\n{% if is_state('light.koogeek_p1_1ef43d_outlet', 'on') %}\n  {% set total = total + 1 %}\n{% endif\
              \ %}\n{{total}} Lampen"
            icon: mdi:lightbulb-group
            icon_color: "{% if is_state('light.licht_essbereich', 'on') %}\n  orange\n{% elif is_state(\"light.koogeek_p1_1ef43d_outlet\"\
              , \"on\") %}\n  orange\n{% else %}\n  grey\n{% endif %}"
            tap_action:
              action: more-info
            entity: light.licht_wohnzimmer
            hold_action:
              action: perform-action
              perform_action: light.turn_off
              target:
                area_id: esszimmer
          - type: template
            icon: "{% if is_state('binary_sensor.om_essbereich_contact', 'off') %}\n  mdi:door-closed\n{% else %}\n  mdi:door-open\n\
              {% endif %}"
            content: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_essbereich_contact', 'off') %}\n  {% set total = total\
              \ + 1 %}\n{% endif %}"
            icon_color: "{% set total = 0 %}\n{% if is_state('binary_sensor.om_essbereich_contact', 'on') %}\n  {% set total =\
              \ total + 1 %}\n{% endif %}\n{% if total == 0 %}\n  green\n{% else %}\n  red\n{% endif %}"
            tap_action:
              action: more-info
            entity: binary_sensor.om_essbereich_contact
          alignment: start
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            name: Strahler
            icon: mdi:ceiling-light-multiple
            entity: light.licht_essbereich
          - type: custom:mushroom-light-card
            name: Terrasse
            icon: mdi:track-light
            entity: light.terrasenbeleuchtung
        - type: custom:mushroom-cover-card
          show_position_control: true
          layout: horizontal
          show_buttons_control: true
          show_tilt_position_control: false
          name: Jalousien
          entity: cover.essbereich
        - camera_view: auto
          type: picture-glance
          image: https://demo.home-assistant.io/stub_config/kitchen.png
          entities: []
          camera_image: camera.DEINE_INNENKAMERA_1
      - type: heading
        heading: Garten
        heading_style: title
        icon: mdi:shovel
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: entity
            entity: sensor.bewegungsmelder_temperatur
          - type: weather
            entity: weather.forecast_home
          alignment: start
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            entity: light.terrasenbeleuchtung
            name: Terrassenbeleuchtung
            icon: mdi:light-flood-down
          - type: custom:mushroom-light-card
            entity: light.terrassenbeleuchtung
            name: Terrassenleuchten
            icon: mdi:lightbulb-multiple-outline
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            name: Kirschbaum
            icon: mdi:track-light
            entity: light.kirschbaum
          - type: custom:mushroom-light-card
            icon: ''
            entity: light.rankhilfe
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-entity-card
            entity: switch.gartenstrom_taster
            name: Gartenstrom
      - type: heading
        heading: Kinderzimmer
        heading_style: title
        icon: mdi:account-child-outline
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: menu
          - type: template
            content: "{% set total = 0 %}\n{% if is_state('light.smart_switch_23070738346376510d0548e1e9d0014e_outlet', 'on')\
              \ %}\n  {% set total = total + 1 %}\n{% endif %}\n{{total}} Lampen"
            icon: mdi:lightbulb-group
            icon_color: "{% if is_state('light.smart_switch_23070738346376510d0548e1e9d0014e_outlet', 'on') %}\n  orange\n{% else\
              \ %}\n  grey\n{% endif %}"
            tap_action:
              action: more-info
            entity: light.smart_switch_23070738346376510d0548e1e9d0014e_outlet
          alignment: start
        - type: custom:mushroom-cover-card
          show_position_control: true
          layout: horizontal
          show_buttons_control: true
          show_tilt_position_control: false
          entity: cover.dachf_kind_1
          name: Dachfenster
        - type: custom:mushroom-light-card
          name: Stehlampe
          icon: mdi:floor-lamp
          entity: light.smart_switch_23070738346376510d0548e1e9d0014e_outlet
          layout: horizontal
      - type: heading
        heading: Schlafzimmer
        heading_style: title
        icon: mdi:chat-sleep-outline
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips: []
          alignment: start
        - type: custom:mushroom-cover-card
          show_position_control: true
          layout: horizontal
          show_buttons_control: true
          show_tilt_position_control: false
          entity: cover.schlafzimmer
          name: Jalousie
      - type: heading
        heading: Empore
        heading_style: title
        icon: mdi:postage-stamp
      - type: vertical-stack
        cards:
        - type: custom:mushroom-chips-card
          chips:
          - type: entity
            entity: sensor.temperatursensor_buro_temperature
            icon_color: orange
          - type: template
            content: "{% set total = 0 %}\n{% if is_state('light.licht_treppe', 'on') %}\n  {% set total = total + 1 %}\n{% endif\
              \ %}\n{% if is_state('light.nachtlicht_dnd', 'on') %}\n  {% set total = total + 1 %}\n{% endif %}\n{{total}} Lampen"
            icon: mdi:lightbulb-group
            icon_color: "{% if is_state('light.licht_treppe', 'on') %}\n  orange\n{% elif is_state(\"light.nachtlicht_dnd\", \"\
              on\") %}\n  orange\n{% else %}\n  grey\n{% endif %}"
            tap_action:
              action: more-info
            entity: light.licht_treppe
            hold_action:
              action: perform-action
              perform_action: light.turn_off
              target:
                area_id: empore
              data: {}
          alignment: start
        - type: horizontal-stack
          cards:
          - type: custom:mushroom-light-card
            layout: horizontal
            name: Nachtlicht
            icon: mdi:toy-brick
            entity: light.nachtlicht_dnd
          - type: custom:mushroom-light-card
            layout: horizontal
            name: Treppe
            icon: mdi:stairs
            entity: light.licht_treppe
    cards: []
    header:
      layout: start
      badges_position: bottom
      card:
        type: markdown
        text_only: true
        content: "{% set time = now().hour %}\n{% if time < 12 %}\n  # Guten Morgen, {{ user }}!\n{% elif time >= 12 and time\
          \ < 14 %}\n # Mahlzeit, {{ user }}! Zeit für {{ ['Pizza', 'Pasta', 'Curry', 'Burger', 'Salat'] | random }}!\n{% elif\
          \ time >= 14 and time < 20 %}\n # Grüß dich, {{ user }}!\n{% else %}\n # Guten Abend, {{ user }}!\n{% endif %}\n   \
          \   \n{% set temp = states('sensor.bewegungsmelder_temperatur') %}\n\n{% if temp | float < 10 %}\nEs ist ziemlich kühl\
          \ mit {{ temp }}°C. Zieh dich warm an!\n{% elif temp | float > 25 %}\nEs ist warm mit {{ temp }}°C. Perfektes\
          \ Wetter für draußen!\n{% else %}\nDie Temperatur beträgt angenehme {{ temp }}°C.\n{% endif %}"
    badges:
    - type: entity
      show_name: false
      show_state: true
      show_icon: true
      entity: sensor.DEIN_YOUTUBE_ABONNENTEN
      icon: mdi:youtube-subscription
      color: red
    - type: entity
      show_name: false
      show_state: true
      show_icon: true
      color: red
      entity: sensor.DEIN_YOUTUBE_KANALAUFRUFE
    - type: entity
      show_name: false
      show_state: true
      show_icon: true
      entity: sensor.strom_strompreis
      color: amber
    

    Aus meinem Home Assistant, Stand 15. März 2026.