Repository navigation
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.
- Panels
- Common keys and rows
- Types: tile · gauge · entities · cover · lock · thermostat · climate · periods · tariff · ev · divider
- Ready-made widgets (65, by category)
- Adding widgets in the editor

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.
| 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.
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}]
The chart reads the Home Assistant history (cached 5 minutes). A non-numeric state is shown formatted. Without title,
the header has no title.
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
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.
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
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
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.
- type: lock
title: Front door
entity: lock.front_door
# Unlock and Open are always confirmed; confirm: true = Lock too
Unlock when locked, Lock when unlocked, both when jammed or unknown, Open if supported. Red when unlocked, open or jammed. No code is sent.
- type: thermostat
entity: climate.thermostat
rows: [sensor.living_room_humidity]
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).
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
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.
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
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.
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
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
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).
- {type: divider, title: Heating, spacing: 12} # optional section title; spacing in px above and belowAdd 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.

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 |
- 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.

Start
Plan
- Drawing the plan
- Furniture
- Floors (0.2.0)
Home Assistant
Using the card
- Using the card
- Summary chips and alerts
- Ambience
- Light (0.2.0)
- Replay and showcase
- Themes and languages
Practical
🇫🇷 Français
- Installation · Premiers pas
- Guide de l'éditeur · Nettoyer le plan
- Dessiner le plan · Meubles · Étages
- Entités · Widgets
- Utiliser la carte · Puces et alertes
- Ambiance · Lumière · Revoir la journée · Thèmes et langues
- Recettes · Dépannage et FAQ
- Sécurité · Vie privée et performances
- Référence · Historique des versions