Home Assistant Guide

Simple tutorials for powerful automations

What is a card?

In Home Assistant, cards are the building blocks you drop onto a dashboard view. Each one provides a little window into an entity, a group of entities, or a service – and many offer direct controls (toggles, sliders, buttons) so you can act without leaving the page.

Introduction to Lovelace Cards

Built-in vs. Custom Cards:

  • Built-in cards: Officially supported, stable, but limited customization.
  • Custom cards: Community-created, highly customizable, but require manual installation.

Card Limitations:

  • Not all cards support all entity types. A thermostat card won't work with binary sensors, and a graph card requires numeric data.

How to Determine Supported Entities:

  • Official Home Assistant documentation.
  • UI Editor: When adding a card, unsupported entities won't appear as selectable.

Adding a card (point-and-click method)

  1. Open the dashboard you want to edit and click ⋮ → Edit dashboard.
  2. Choose the view (tab) you want, then press the blue Add card + button in the bottom-right corner.
  3. Decide how you want Home Assistant to help:
    • By card type – scroll the gallery and pick the design first.
    • By entity – tick one or more entities and let HA suggest matching cards.
    From the same dialog you can also set visibility conditions, resize cards in a Sections view, and tweak tap/hold actions before clicking Add to dashboard.

Tip – you can also start on a device page and hit "Add to Dashboard" to drop in ready-made cards for that device.

Built-in card types (2025)

Device- or service-specific

  • Alarm Panel – arm/disarm your security system.
  • Light – colour, brightness and toggle in one place.
  • Humidifier
  • Thermostat – classic round dial.
  • Plant Status – moisture, brightness & battery at a glance.
  • Media Control – artwork, volume and transport buttons.
  • Weather Forecast
  • To-do List
  • Map – live tracker locations or zones.
  • Logbook – recent events for selected entities.
  • Calendar
  • Clock (new in 2025.4) – digital/analog, any timezone.

Control-focused

  • Button – single entity action.
  • Entity – shows state and lets you open the more-info dialog.
  • Tile – modern, responsive alternative to Button/Entity with optional "features" rows.

Generic data visualisation

  • Sensor (large number with optional graph sparkline).
  • History Graph
  • Statistic & Statistics Graph
  • Energy (flow diagram for electricity, gas and solar).
  • Gauge (speedometer-style dial).
  • Webpage (embed any iFrame).
  • Markdown & Text cards
    • Markdown card – lets you write formatted text, lists, links, images, and even insert live entity values using simple Markdown formatting. Great for adding instructions, tips, or a custom info panel to your dashboard. You can use bold, italic, headings, code blocks, or even embed values from Home Assistant using {{ states('sensor.xyz') }} style templates.
    • Text card – the simplest way to add plain text (no formatting, just a block of text) for headings, labels, or notes. Use this if you want something super basic and don't need any styling or variables.
    • When to use which? If you just want to display a simple note, the Text card is fastest. For formatted text, checklists, clickable links, or showing live values (like "It's currently {{ states('sensor.temp') }}°C"), use the Markdown card.
    • What is Markdown? It's a super-simple way to add formatting to text. For example: **Bold** for Bold, [Link](https://home-assistant.io) for Link, or - List item for a bullet point. The card shows you a preview as you type.

Layout / grouping

  • Vertical Stack
  • Horizontal Stack
  • Grid

Logic / dynamic

  • Conditional – only show when conditions are met.
  • Entity Filter – auto-build a list based on state.

Mixed display & control

  • Area – quick overview of everything in a room.
  • Picture Elements – overlay icons on a floorplan/image.
  • Picture Glance – hero image with entity icons underneath.
  • Picture – static image that acts as a link or tap-action.

That's the full list exposed in the "Add Card" dialog as of Home Assistant 2025.6. If a new core card appears in a later release, it will automatically show up there.

Mushroom – prettier cards from the community

Mushroom is a popular bundle of sleek, Material-inspired cards that drop straight into the normal editor (no YAML required). Everything ships through HACS, so updates are one-click.

Installing via HACS (once-off)

  1. In Home Assistant go to Settings → Add-ons → HACS → Download if you haven't installed it yet.
  2. Open HACS → Frontend → Search and type "Mushroom".
  3. Click Download, wait for it to finish, and Reload your browser/dashboard.

Mushroom card lineup

After install you'll find a new Mushroom section in the card picker with:

  • Entity, Light, Fan, Climate, Cover, Alarm, Media, Person & Vacuum cards
  • Template card (like Markdown but with Jinja-style templates)
  • Update card (for HA or add-on updates)
  • Chips card (tiny pill-shaped quick-actions)
  • Title card (section headers)

All Mushroom cards share the same style controls (color, icon, shape) and are fully configurable from the GUI.

Beyond Mushroom – more gems in HACS

HACS hosts hundreds of custom cards – perfect when you need a niche graph or advanced formatting:

  • Button-card – ultra-customisable buttons with templated CSS.
  • Mini-graph-card – compact, highly configurable line graphs.
  • Entity-progress (bar) card – beautiful percentage bars that match Tile/Mushroom styling.
  • Bubble / Streamline cards – modern dashboards with animated bubbles.
  • Header cards – place chips or badges in the view header.

Installing any custom card follows the same pattern as Mushroom: find it in HACS → Frontend, download, then refresh your dashboard. From that moment it behaves just like a core card.

Combining Features from Different Cards: What's Possible & What's Not

Home Assistant Lovelace cards are designed to fulfill specific roles, which means you generally can't directly copy features from one card type into another. This limitation exists because:

  • Different Card Purposes: Cards are specialized - graph cards handle numeric data visually, while entity cards manage and display states and attributes.
  • Entity Type Restrictions: Not all entity types are compatible across cards. A thermostat card, for example, expects specific HVAC-related entities and attributes, and thus won't handle unrelated binary sensors.
  • Internal Card Logic: Cards have predefined behaviors and data handling logic coded into their design, preventing arbitrary mixing and matching.

Workarounds and Alternatives:

  • Stack Cards:
    • Vertical Stack: Cards stacked top-to-bottom.
    • Horizontal Stack: Cards aligned side-by-side.

    Example:

    type: vertical-stack
    cards:
      - type: entities
        entities:
          - sensor.temperature
          - sensor.humidity
      - type: history-graph
        entities:
          - sensor.temperature
            
  • Template Sensors: Create new, calculated entities if needed for compatibility. Defined in YAML under configuration.yaml or via the UI.

    Example:

    sensor:
      - platform: template
        sensors:
          temperature_fahrenheit:
            value_template: "{{ (states('sensor.temperature_celsius') | float * 9/5) + 32 }}"
            unit_of_measurement: "°F"
            
By understanding these constraints and creatively using stacks and template entities, you can overcome many limitations.

Next steps

Don't be afraid to experiment – Home Assistant makes it easy to rearrange, duplicate and delete cards. Once you're comfortable, dive into YAML mode or card-mod for fine-grained styling, or explore auto-generated dashboards like the new Areas Dashboard if you'd rather start with a ready-made layout.