Skip to content

Widgets

Alex RAMIREZ edited this page Oct 9, 2026 · 3 revisions

🇫🇷 Version française

Widgets

Widgets fill the side panels next to the plan (panels.left, panels.right), the panels of a room view (rooms[].panels) and the cards opened from plan elements (card.widgets). The same 11 types work everywhere, and the editor offers 65 ready-made widgets built on them.

Every widget type in the side panels

Panels

panels:
  left:
    - {type: tariff, title: Live rate, price: sensor.kwh_price, period: sensor.tariff_period}
  right:
    - {type: gauge, title: Power, entity: sensor.home_power, min: 0, max: 9000, unit: W}
rooms:
  - name: Office
    poly: [[0, 0], [300, 0], [300, 300], [0, 300]]
    panels:                      # shown instead of the home panels while this room view is open
      left: [{type: climate, rooms: [Office]}]

On a desktop the card takes the full height without scrollbars (full_page) and the panels fit beside the plan; on a narrow screen they stack under the plan. Tablet mode hides them unless tablet.panels: true.

Common keys and rows

Key Meaning
type Widget type (required)
title Header title (cover, lock, thermostat: entity name by default)
icon Header icon (a default per type)
color Accent colour (icon, chart, position bar; the arc of a gauge without severity)
rows Extra lines under tile, gauge, tariff, ev, cover, lock and thermostat
confirm true: every service of the widget asks for confirmation, even a safe one (toggles and Activate of its rows, thermostat − / +, cover and lock buttons). See Security

A row (and an item of the entities widget) is an entity id or {entity, name, icon, decimals, unit}:

rows:
  - sensor.outdoor_humidity
  - {entity: sensor.outdoor_pressure, name: Pressure, icon: mdi:gauge, decimals: 0, unit: hPa}

On the right of a row: a toggle for light, switch, fan, input_boolean and humidifier (side panels only), an Activate button for scene, script, button and input_button (side panels only; scripts and buttons ask for confirmation), otherwise the value (red for a detector that is on). A tap on a value opens the more-info. In the editor, widgets render live but a tap selects them instead of acting.

Types

tile

A large value, with an optional history chart.

- type: tile
  title: Home power
  icon: mdi:flash
  entity: sensor.home_power
  unit: W
  decimals: 0
  history: 24        # hours of chart; 0 or absent = no chart
  rows: [{entity: sensor.coffee_machine_power, name: Coffee machine}]

tile

The chart reads the Home Assistant history (cached 5 minutes). A non-numeric state is shown formatted. Without title, the header has no title.

gauge

A value on an arc between min (default 0) and max (default 100).

- type: gauge
  title: CO₂
  icon: mdi:molecule-co2
  entity: sensor.living_room_co2
  min: 400
  max: 2000
  unit: ppm
  decimals: 0
  severity: {green: 0, yellow: 800, red: 1200}   # each colour from its value up

gauge

Colour: severity (like the Home Assistant gauge card: the colour whose value is the highest one below the current value), else color, else green below 60 %, orange below 85 %, red above. The percentage is shown when max is set.

entities

A list of entities, with toggles and Activate buttons (see rows).

- type: entities
  title: Living room
  icon: mdi:sofa-outline
  entities:
    - light.living_room
    - {entity: scene.movie, name: Movie}
    - binary_sensor.bathroom_leak

entities

cover

Control of a cover (shutter, blind, gate, garage door) or a valve.

- type: cover
  title: Gate
  entity: cover.gate
  confirm: true      # default: true for device class garage, gate, door and for valves

cover

State, position (current_position) with a bar, Open, Stop, Close (each hidden when the entity does not support it, all inactive while unavailable). With confirm, each button opens a confirmation dialog naming the action and the entity. Opening a valve, a garage door, a gate, a door or a cover without a class is always confirmed (confirm: false does not remove it). Another domain in entity is dropped.

lock

- type: lock
  title: Front door
  entity: lock.front_door
  # Unlock and Open are always confirmed; confirm: true = Lock too

lock

Unlock when locked, Lock when unlocked, both when jammed or unknown, Open if supported. Red when unlocked, open or jammed. No code is sent.

thermostat

- type: thermostat
  entity: climate.thermostat
  rows: [sensor.living_room_humidity]

thermostat

Current temperature, set point with − / + (climate.set_temperature, device step or 0.5, between min_temp and max_temp), current action (Heating, Cooling, Idle…) and mode with preset. The buttons are inactive when the entity has no single set point (for example heat_cool with a low and a high).

climate

Temperature and humidity of every room with sensors, with their trend.

- type: climate
  title: Room climate
  duration: 30          # trend window in minutes (5–240)
  rooms: [Bedroom, Living room]   # default: every room with a sensor (sub-areas excluded)
  outside: false        # hide outdoor rooms (default true = shown)
  average: true         # first line: indoor average and its trend
  stable_t: 0.3         # flat arrow below this change (°C)
  alert_t: 1.5          # alert at or above this change
  stable_h: 2           # same for humidity (%)
  alert_h: 10
  t_min: 16             # optional absolute limits
  t_max: 28
  h_min: 30
  h_max: 70

climate

One line per room (rooms sharing the same sensors appear once), arrows from the change over duration (Home Assistant history), a red alert icon when the change or a limit is exceeded. Sensors read through an attribute get no trend.

periods

A day / week / month / year table, from Home Assistant long-term statistics or from four entities per column.

- type: periods
  title: Consumption
  periods: [day, week, month, year]   # default: all four
  note: From the electricity meter
  columns:
    - {name: Energy, unit: kWh, stat: sensor.total_energy, factor: 0.001, decimals: 1}
    - name: Cost
      unit: €
      day: sensor.cost_today
      week: sensor.cost_week
      month: sensor.cost_month
      year: sensor.cost_year

periods

stat is a cumulative sensor with statistics (energy, gas, water, cost): each cell is its change over the calendar period (recorder/statistic_during_period, cached 5 minutes). factor (default 1) multiplies the values, with stat or with the four entities; decimals defaults to 2. The editor also writes source: stat | entities.

tariff

Live electricity price, current period and Tempo colours.

- type: tariff
  title: Live rate
  price: sensor.kwh_price            # 4 decimals; unit from the entity, else €/kWh
  period: sensor.tariff_period       # green when it contains "off-peak" (or "creuse"), orange otherwise, neutral when unavailable
  color_today: sensor.tempo_today    # Blue / White / Red (or Bleu / Blanc / Rouge)
  color_tomorrow: sensor.tempo_tomorrow

tariff

ev

Electric vehicle: battery ring, charging state, range and session.

- type: ev
  title: Car
  battery: sensor.ev_battery
  range: sensor.ev_range
  power: sensor.charger_power        # W, kW or MW (converted to W)
  threshold: 50                      # charging above this power (W)
  plugged: binary_sensor.ev_plugged  # on / plugged / connected / true
  session_kwh: sensor.charger_session
  session_cost: sensor.charger_session_cost

ev

Status: "Charging · 2.28 kW", "Plugged in", "Unplugged" or "Idle". The ring is green while charging, red below 20 %. power is converted to watts from its unit (W, kW or MW; no unit = W) and compared with threshold (W).

divider

- {type: divider, title: Heating, spacing: 12}   # optional section title; spacing in px above and below

Ready-made widgets

Add widget offers 65 ready-made widgets in 13 categories, after the 10 basic types. Each is one of the types above with sensible bounds and colours; on insertion its entity fields are filled from your Home Assistant (see Entity pre-fill). "dc" is the device class; words are matched in the entity id or name.

The widget catalogue

Air and climate

Widget Type Settings Entities looked for
CO₂ gauge 400–2000 ppm, green / 800 yellow / 1200 red sensor dc carbon_dioxide, or ppm + "co2"
VOC gauge 0–1000, 300 / 500 sensor dc volatile organic compounds, or "voc"
PM2.5 particles gauge 0–100 µg/m³, 25 / 50 sensor dc pm25
Humidity gauge 0–100 %, yellow / 35 green / 65 red sensor dc humidity
Temperature tile °C, 24 h chart, humidity row sensor dc temperature
Air quality tile 24 h chart sensor dc aqi, or "aqi", "iaq"
Radon gauge 0–400 Bq/m³, 100 / 300 "radon"

Light

Widget Type Settings Entities looked for
Illuminance gauge 0–1000 lx sensor dc illuminance
Lights entities up to 6 lights
Scenes entities up to 5 scenes

Security

Widget Type Settings Entities looked for
Lock lock a lock
Alarm tile alarm_control_panel
Smoke detectors entities up to 6 binary_sensor dc smoke
Carbon monoxide entities up to 4, dc carbon_monoxide
Gas detectors entities up to 4 binary_sensor dc gas
Motion entities up to 6 dc motion / occupancy / presence
Cameras entities up to 4 cameras
Doorbell tile event dc doorbell, or "doorbell"

Water

Widget Type Settings Entities looked for
Water leaks entities up to 6 binary_sensor dc moisture
Shut-off valve cover confirmed a valve
Water usage periods m³, 2 decimals sensor dc water (statistics)
Water pressure gauge 0–6 bar, red / 1.5 green / 4 yellow sensor dc pressure in bar, or "water"
Water softener entities "softener"

Energy

Widget Type Settings Entities looked for
Solar production tile W, 24 h chart, energy row power sensor named solar / pv / inverter / production
Home battery gauge 0–100 %, red / 20 yellow / 50 green, power row battery sensor named home battery / powerwall / storage
Live power tile W, 24 h chart power sensor named home / total / grid / meter, else any power sensor
Usage and cost periods kWh (1 decimal) and € (2 decimals) energy sensor (not a daily one), monetary sensor
Electricity price tile 4 decimals, 24 h chart €/kWh or €/MWh, or "price" / "tariff"
Gas meter periods m³ sensor dc gas

Openings

Widget Type Settings Entities looked for
Shutter cover cover dc shutter / blind / shade / curtain / awning / window
Gate cover confirmed for dc gate cover dc gate, or "gate"
Garage door cover confirmed for dc garage cover dc garage, or "garage"
Windows and doors entities up to 8 binary_sensor dc window / door / opening / garage_door

Heating and cooling

Widget Type Settings Entities looked for
Heat pump / AC thermostat climate named heat pump / AC / split, else any climate
Boiler tile °C, 24 h chart temperature sensor named boiler / flow
Water heater tile °C, 24 h chart water_heater, or temperature sensor named water heater / tank
Ventilation entities up to 3 fans, or "ventilation"
Air purifier entities a purifier fan and a PM2.5 sensor
Dehumidifier entities a humidifier and a humidity sensor

Appliances

Widget Type Settings Entities looked for
Washing machine entities up to 3 named washing / washer
Dryer entities up to 3 named dryer
Dishwasher entities up to 3 named dishwasher
Robot vacuum tile battery row a vacuum
3D printer gauge 0–100 % printer progress (OctoPrint, Bambu, Prusa…), remaining time, nozzle
Fridge and freezer entities up to 3 temperature sensors named fridge / freezer

Media

Widget Type Settings Entities looked for
Television tile media_player dc tv, or "tv"
Speakers entities up to 4 media_player dc speaker (or not a TV)

Outdoor and garden

Widget Type Settings Entities looked for
Weather tile outdoor temperature row a weather entity
Rain tile 24 h chart sensor dc precipitation, or mm + "rain"
Wind tile 24 h chart, gust row sensor dc wind_speed
UV index gauge 0–11, 3 / 6 "uv"
Watering entities up to 4 switches or valves named irrigation / sprinkler / garden
Soil moisture gauge 0–100 %, red / 20 yellow / 35 green sensor dc moisture, or % + "soil" / "plant"
Pool entities pH, chlorine / ORP, pool temperature
Pool pH gauge 6.8–8, yellow / 7.2 green / 7.7 red sensor dc ph, or "ph"

Network and server

Widget Type Settings Entities looked for
Internet speed entities download, upload (data rate) and ping (ms)
Processor gauge 0–100 %, 70 / 90 % named cpu / processor
Memory gauge 0–100 %, 80 / 90 % named memory / ram
Disk gauge 0–100 %, 80 / 90 % named disk / storage / volume
UPS entities up to 4 named ups / nut

Presence

Widget Type Settings Entities looked for
People entities up to 6 persons
Phones entities up to 6 device_trackers
Device batteries entities up to 8 battery sensors, lowest first

Vehicle

Widget Type Settings Entities looked for
Electric car ev battery named car / EV / model names, range, charger power, plug sensor
EV charger entities up to 4 named charger / wallbox / evse

Adding widgets in the editor

  • Add widget below a panel (or in a card, or in a room's panels) opens the widget dialog: chips by category, a search box ("co2", "leak", "lock"…; every word must match, name matches first), ← / → on a tile for the left or right panel.
  • Create a widget opens a workshop with a live preview, and can save the result to My templates with entities to choose at each use.
  • Click a widget, then Edit in its floating toolbar: its edit dialog shows the widget itself as the preview; drag it to reorder or to move it to the other panel.

Searching "co2" in the widget catalogue

Clone this wiki locally