Home Assistant projects
All projects

Climate Air Cards

Lovelace card · Climate & weather
v2.0.1 · Nov 13, 2026 HA 2024.8.0+ Marketplace

Cards for air purifiers, fans, air conditioners and thermostats, with an overview of every device.

One card per kind of device, each with a mini card, and an overview of the whole home. Add a card and it finds the device and its sensors by itself; the illustrations come alive while a device runs.

Highlights

  • Air purifier, fan, air conditioner and thermostat cards, each with a mini card
  • Thermostats, radiators and radiator valves: target, presets, mode, valve, open window and battery
  • Overview of every device, grouped by kind or by area
  • Animated illustrations: turning blades, air flowing, swinging head
  • Automatic discovery of devices and their sensors
  • Heat / cool range of air conditioners on the overview
  • Horizontal swing for the air conditioners that support it
  • Target humidity slider for the air conditioners that support it
  • Sliders showing their fill and value while they move
  • Chips opening the more-info dialog of their entity

Works with

Cards

climate-air-overview-cardclimate-air-purifier-cardclimate-air-fan-cardclimate-air-aircon-cardclimate-air-thermostat-cardclimate-air-purifier-mini-cardclimate-air-fan-mini-cardclimate-air-aircon-mini-cardclimate-air-thermostat-mini-card
type: custom:climate-air-overview-card

Install

  1. 1Open the repository in the Marketplace with the Add to Marketplace button above, or addgithub.com/juju35/ha-climate-air-card as a custom repository (category Dashboard).
  2. 2Download it from the Marketplace.
  3. 3Reload the browser and add the card from the dashboard editor.

Documentation

From the README

Features

Features

Overview#

custom:climate-air-overview-card — Every air conditioner, air purifier and fan at a glance.

  • Automatic discovery: every climate entity that can cool, dry or only blow (a heat-only thermostat is left out: ha-heating-card shows those), and every fan entity, sorted into air purifiers (from their name, or a PM2.5, air quality or filter sensor on the device) and fans
  • One compact tile per device with its illustration, animated while it runs like on the device cards (turning blades and rotor, air flowing out, swinging head or flap), coloured by its state: the mode colour of an air conditioner, the air quality of a purifier, blue for a fan
  • The state on each tile: Cool · 22 °C, PM2.5 6 · Good air, 45 % · Natural wind, or Off (with the room temperature for an air conditioner); a chip flags a filter to replace or to clean (a click on it opens that entity's more-info); an air conditioner with a low / high range shows it (Heat/Cool · 20–24 °C)
  • Grouped by kind of device, by area, or not at all (group_by)
  • Tap the icon of a tile to turn the device on or off; tap the tile to unfold its full card at the top of the overview, tap it again or anywhere else to fold it back
  • Only the devices that are on or need attention show; the detail button (top right) shows every device, and back, as does a click anywhere else. show_all: true starts on every device instead, the button then keeping only the devices on or needing attention (zoom: false: every device, always, no button)
  • Header with how many devices are on and how many filters need care
  • The illustration of every device of a kind or of each device (illustrations, guessed from the device model otherwise), or an icon instead (icons); a name and a type per device (devices); the header icon (icon). In the visual editor, the Device types and Devices sections set all of them, without YAML

Air purifier#

custom:climate-air-purifier-card — An air purifier (fan entity) and the sensors of its device.

  • The PM2.5 density (or the air quality index) in large, with its level: Good air, Moderate air, Poor air, Very poor air; the card takes the colour of the air quality
  • Animated illustration while it runs: the fan turns (faster with the speed), clean air rises and dust is drawn into the intake; the display ring and the floor light take the air quality colour. Four shapes: a tower (a tall box whose display shows the PM2.5), a round purifier, a square box and a Dyson-style bladeless loop, picked from the device model or set with illustration
  • Filter life bar (with its hours of use on hover) and a Replace the filter alert at 10 % or less
  • Presets as segmented buttons (Auto, Sleep, Favorite…), or the device's mode select when it has no presets (HomeKit purifiers); speed slider; favorite level in the Favorite preset
  • Temperature, humidity, PM10 and, when the device reports them, VOC and NO₂ chips (Dyson); child lock, sound and indicator light toggles

Fan#

custom:climate-air-fan-card — A fan (fan entity) and the controls of its device.

  • The speed in large, with the preset; speed slider and presets (natural wind, straight wind…)
  • Animated illustration while it runs: the blades turn faster with the speed, the head swings while oscillating, and the breeze comes in gusts in a natural wind preset
  • Oscillation, ionizer, child lock, sound and indicator light toggles; oscillation angle, timer and display brightness; turn left / turn right buttons
  • Temperature and humidity chips when the fan measures them

Air conditioner#

custom:climate-air-aircon-card — An air conditioner (climate entity) and the sensors of its device.

  • The room temperature in large and the target next to it; modes as segmented buttons (only the selected one keeps its label when there are many); − / + buttons for the target, sent once the taps stop and kept on screen until the device reports it. In Heat/Cool or Auto with a low / high range (target_temp_low / target_temp_high), both ends show with their own − / + (Heat to, Cool to); the mini card shows the range and leaves its buttons to the full card
  • A Target humidity slider when the entity supports it (climate.set_humidity, within min_humidity / max_humidity)
  • Fan mode, swing mode, horizontal swing mode (when the entity supports it, climate.set_swing_horizontal_mode) and preset; the device's other switches (eco, display, self clean, sound…) as option toggles
  • Animated illustration while it runs: the air flows out in the mode colour, with snowflakes when cooling, shimmer when heating and droplets when drying; the flap swings with the vertical swing and the airflow sways with the horizontal one; the status light breathes while the compressor runs. Three shapes: a wall split unit, a portable unit with its exhaust hose and a window split (indoor unit, outdoor unit hung outside the window, whose fan turns with the compressor), picked from the device model or set with illustration
  • Outdoor temperature, humidity and power draw chips; a Clean the filter alert from the device's dust sensor

Mini cards#

custom:climate-air-purifier-mini-card, custom:climate-air-fan-mini-card, custom:climate-air-aircon-mini-card — The device on two lines, for a compact dashboard.

  • The illustration (animated too), the key reading (PM2.5, speed, temperatures) and round buttons: power, plus the preset (purifier), the oscillation (fan) or − / + for the target (air conditioner)
  • The detail button (top right) unfolds the full card, and back, as does a click anywhere else (zoom: false removes it)

Supported integrations

Supported integrations

The cards work with any integration that provides air purifiers and fans as fan entities and air conditioners as climate entities (Xiaomi Home, Xiaomi Miio, HomeKit Device, Matter, Midea, Dyson…). Some get a specific treatment:

Integration What the cards add
HomeKit Device (built in) The mode select as presets when the purifier has none; an air quality index on the HomeKit 1–5 scale
Dyson (Marketplace) VOC and NO₂ chips, the HEPA filter life, and a bladeless loop illustration

The sensors of the device (PM2.5, temperature, humidity, filter, child lock…) are discovered from its registry, whatever the integration.

Prerequisites

Prerequisites

  • Home Assistant 2024.8 or later
  • Air purifiers and fans as fan entities, air conditioners as climate entities, from any integration (Xiaomi Home, Xiaomi Miio, HomeKit Device, Matter, Midea, Dyson…)

Configuration

Configuration

Common options#

The purifier, fan and air conditioner cards, and their mini cards, share these options.

Option Required Default Description
entity ❌ First found The fan or climate entity of the device; without it, the card takes the first device of its kind
name ❌ Device name Card title
show_title ❌ true Show the title in the header (e.g. false under a section heading of your own)
show_subtitle ❌ true Show the subtitle under the title
icon ❌ Illustration Replaces the illustration with an icon
illustration ❌ auto Purifier: tower, cylinder, box or dyson (bladeless loop); air conditioner: split, portable or window. auto picks one from the device model and name
show_controls ❌ true Show the controls (presets, speed, modes, options)
show_sensors ❌ true Show the measurement chips (temperature, humidity, PM10, outdoor temperature, power)
show_alerts ❌ true Purifier and air conditioner cards only: show the filter alerts (the fan cards have none)
zoom ❌ true Mini cards only: detail button at the top right that unfolds the full card (a click elsewhere folds it back)
language ❌ Auto Force language: en, fr, de, es, sr, sr-Latn, it, nl, pt, pl, ro, da, sv, bg, ru, uk, hu, sk, cs, sl, lv or el (auto-detects from HA settings; pt-BR gets European Portuguese); also on the Overview card
entities ❌ Auto Override the sensors and controls found on the device (see Entity overrides)

Overview#

Minimal:

type: custom:climate-air-overview-card

Full options:

type: custom:climate-air-overview-card
title: Climate & air
icon: mdi:home-thermometer
group_by: type
columns: 2
zoom: true
show_all: false
exclude:
  - fan.garage_fan
include:
  - fan.attic_fan
illustrations:
  aircon: window
  fan.bedroom_air: box
icons:
  fan.garage_fan: mdi:ceiling-fan
devices:
  - entity: fan.bedroom_air
    name: Bedroom
    type: purifier
Option Required Default Description
title ❌ Climate & air Card title
show_title ❌ true Show the title in the header (e.g. false under a section heading of your own)
icon ❌ mdi:air-filter Header icon
illustrations ❌ Auto Tile illustrations, by kind of device (aircon, purifier) and by entity ID, the device's own winning: purifier tower, cylinder, box or dyson; air conditioner split, portable or window. Unset or auto: guessed from the device model and name. The unfolded card uses the same one. In the visual editor's Device types and Devices sections
icons ❌ — An icon instead of the illustration, by kind of device (aircon, purifier, fan) or by entity ID; it moves with the device state (turning fan, mode icon of an air conditioner). In the visual editor's Device types and Devices sections
group_by ❌ type type (air conditioners, air purifiers, fans), area or none. With area, the heading shows the area's icon and name, and each tile is labelled by its kind of device (Air purifier, Air conditioner…) instead of repeating the room — a name set in devices still wins
columns ❌ 2 Number of tile columns (1 on narrow cards unless set)
zoom ❌ true Only the devices on or needing attention show, and a detail button shows them all; false: every device, always
show_all ❌ false Every device shows at first, and the detail button keeps only the ones on or needing attention (a click elsewhere brings every device back). In the visual editor: Show every device
show_alerts ❌ true Filter alerts on the purifier and air conditioner tiles (a device needing attention shows even when off, with zoom); false: none
exclude ❌ — Devices left out
include ❌ — climate or fan entities the card would not pick on its own (a hidden entity); a heat-only thermostat stays out unless devices gives it a type
devices ❌ — Per-device overrides: {entity, name, icon, illustration, type}, with type one of aircon, purifier, fan (they win over icons and illustrations)

Air purifier#

type: custom:climate-air-purifier-card
entity: fan.living_room_purifier
illustration: cylinder

Fan#

type: custom:climate-air-fan-card
entity: fan.bedroom_fan

Air conditioner#

type: custom:climate-air-aircon-card
entity: climate.air_conditioner
illustration: window

Coming from 1.x: thermostats#

The thermostat card moved to ha-heating-card, where it lives on; 2.0.0 removes it from this repository, and the Overview no longer shows thermostats. Install ha-heating-card, then replace the card types (every option keeps its name and meaning: entity, name, icon, illustration, entities, show_title, show_subtitle, show_controls, show_sensors, show_alerts, zoom, language):

Before (1.x) Now (ha-heating-card)
custom:climate-air-thermostat-card custom:heating-card
custom:climate-air-thermostat-mini-card custom:heating-mini-card
type: custom:heating-card
entity: climate.bedroom_radiator
illustration: valve

On the Overview, drop thermostat from illustrations, icons and devices (type: thermostat): it no longer means anything.

Entity overrides#

The cards find the other entities of the device by their registry translation key, their entity ID (English, French, German or Spanish) or their device class. Set one under entities when the card picks the wrong one or misses it:

Key Domain Card Used for
pm25 / pm10 sensor Purifier Particle density, air quality colour
voc / no2 sensor Purifier Volatile organic compounds and nitrogen dioxide index (Dyson)
aqi sensor Purifier Air quality index, when there is no PM2.5 sensor. A value of 5 or less is read on the HomeKit 1–5 scale, above that as a US AQI
filter / filter_hours sensor Purifier Filter life (%) and hours of use. Dyson's HEPA (or combined) filter is used, not its carbon one
status sensor Purifier State shown while on (Purifying, Idle…)
mode select Purifier Mode buttons, when the fan entity has no presets
favorite number Purifier Favorite level
temperature / humidity sensor Purifier, fan, air conditioner (humidity) Measurement chips
angle number / select Fan Oscillation angle
timer number Fan Timer
rotate_left / rotate_right button Fan Turn buttons
brightness select Fan Display brightness
anion / child_lock / buzzer switch Purifier, fan Option toggles
light light Purifier, fan Indicator light toggle
indoor_temp / outdoor_temp sensor Air conditioner Room temperature (when the climate entity has none) and outdoor chip
power sensor Air conditioner Power draw chip
compressor sensor Air conditioner Compressor frequency: the status light breathes while it runs
filter_alert binary_sensor Air conditioner Clean the filter alert
entities:
  pm25: sensor.living_room_pm2_5
  filter: sensor.living_room_purifier_filter_life

Support

Support

If you find this project useful, you can support its development:

Buy Me a Coffee

2.0.1Nov 13, 2026Latest

Fixes

  • Folding back on a tap elsewhere now works on iOS (Safari and the companion app): a tap on something that is not clickable sent no click to the page, so the detailed view of the mini cards and the overview's open device and full list stayed open. The press and the release are caught instead; a slider dragged out of the card and a scroll do not fold anything.
  • Leaving the card (another dashboard view, a conditional card hidden) brings it back in its default state: mini cards compact, the overview back to the devices that are on.

2.0.0Nov 13, 2026

⚠ Breaking changes

  • The thermostat card moved to ha-heating-card: custom:climate-air-thermostat-card and custom:climate-air-thermostat-mini-card are removed. Install ha-heating-card and replace them with custom:heating-card and custom:heating-mini-card; every option keeps its name and meaning (entity, name, icon, illustration, entities, show_title, show_subtitle, show_controls, show_sensors, show_alerts, zoom, language). See Coming from 1.x in the README.
  • Overview: thermostats are gone too. It shows air conditioners, air purifiers and fans only: a climate entity is an air conditioner when it can cool, dry or only blow, and a heat-only one (heat, auto or heat/cool) is left out, even under include, unless devices gives it a type. The thermostat kind of illustrations, icons and devices no longer exists, nor do the Window open and Low battery tile alerts.

Changes

  • Translations: the texts only the thermostat used are removed from every language.
  • Screenshots: the Overview is rendered again without thermostats; the thermostat screenshots and animations are removed.

1.15.0Nov 12, 2026

Features

  • show_title and show_subtitle options (also in the visual editor) hide the header's title and its subtitle, separately, for a card placed under a section heading of its own (asked in juju35/ha-vehicle-card#72).

1.14.3Nov 9, 2026

Maintenance

  • No code change: released again to check the installation from the Marketplace.

1.14.2Nov 9, 2026

Performance

  • A role a device lacks (no filter sensor, no VOC sensor…) is remembered with the states it was worked out from, instead of the device being scanned again on every update of the home; it is looked up again as soon as one of the device's entities changes (back from unavailable, say). The overview with hundreds of devices spends about 40 % less time per update; a home with a few devices sees no difference.

1.14.1Nov 9, 2026

Fixes

  • Translations: the cards are defined once the page's language file has arrived (at most 1.5 s; Home Assistant builds a card when its element gets defined), so the first render is already translated instead of English then redrawn; until a language file is in, a missing text reads the English one wherever the card has no fallback of its own.