Repository navigation
Entities
How Maquette reads and shows your Home Assistant entities, domain by domain, what a tap does, and which services it can call. Any entity can be used almost anywhere; some domains get a special treatment, listed here.
- Where entities go
- Badges: the round device icons on the plan
- The "active" rule · Values and units
- By domain
- What a tap does · Services Maquette can call
- Entity pre-fill · Fill from device · Importing Home Assistant areas
| Place | Key(s) | Typical entities |
|---|---|---|
| Room |
temperature, humidity (+ _attribute), tap
|
sensor (temperature, humidity), weather / climate with an attribute |
| Opening |
contact, shutter, entity
|
binary_sensor door / window, cover shutter, cover gate / garage |
| Badge |
entity, active, value
|
anything |
| Connected furniture |
entity, active, value
|
switch + power sensor, media_player, climate… |
| Widget (panels, cards) |
entity, rows, entities, type-specific keys |
see Widgets |
| Summary chip |
entity, presence
|
anything; see Summary chips |
| Info box line |
entity (+ attribute) |
anything |
| Full-plan alert |
entity, entities
|
detectors, any numeric sensor |
| Ambience |
sun, weather, people |
sun.sun, weather.*, person.*
|
| Presence | presence |
zone.home (default), person, group, binary_sensor
|
A badge is a round icon placed on the plan, coloured while its entity is active, with an optional value, halo, animation and card.
badges:
- entity: light.living_room
pos: [230, 200]
icon: mdi:floor-lamp
name: Lamp # tooltip, lists, card title
color: "#f6c445" # colour when active
halo: 170 # light halo radius in cm (true = 130)
room: Living room # clip the halo to this room (exact room name)
- entity: switch.washer_plug
pos: [60, 380]
icon: mdi:washing-machine
value: sensor.washer_power # value shown in the badge
active: sensor.washer_power # "active" comes from this entity…
threshold: 5 # …when above 5
- entity: climate.thermostat
pos: [300, 60]
icon: mdi:thermostat
attribute: temperature # show this attribute of `entity` as the value
unit: " °C"
active_attribute: hvac_action # active while hvac_action is heating / cooling-
Colour:
colorwhen active, else the Home Assistant active-state colour.light_color: truedraws the icon dark on a light colour (guessed fromcolorif omitted). Inactive badges stay neutral. -
Icon:
icon, elsemdi:circle. The editor writes an icon from the entity (its own icon, its device class, its domain). -
Halo: an amber glow of radius
halo(cm) while the badge is active, clipped to the room named inroom. The light's colour and brightness are not used; any domain can have a halo. -
alert: true: the badge uses the alert animation while active (pulse by default). -
Unavailable: faded (see
badge_stylebelow). - Badges keep the same size on screen whatever the zoom.
Badge style (⚙ Settings › Device badges):
badge_style:
unavailable: dashed # dimmed (default) | dashed | hidden
inactive: active_only # shown (default) | active_only | dimmed
size: small # small (0.8×) | normal | large (1.25×)
values: hover # always (default) | hover | neverA hidden badge still counts in the chips and appears in the room view; a badge involved in a full-plan alert stays visible; the editor always shows every badge.
Badges, connected furniture and card icons use the same rule:
- The value read is the state of
active(default:entity), or its attributeactive_attribute. - With
threshold, active means value > threshold (numbers). - Without it, active means the value is one of
on,open,opening,closing,playing,heating,cooling,cleaning,detected,home.
So, without threshold or active_attribute, states such as unlocked, triggered, armed_away, heat (a climate
mode), recording or not_home are not active. Use active_attribute: hvac_action for a thermostat, or a template
binary sensor in Home Assistant for anything else.
- Widgets, rows, chips and info boxes:
decimalsif set, else 1 decimal, or 0 from 100 up; unit =unit, else the entity'sunit_of_measurement.decimalsis a maximum (21.0 shows as 21). - Badge and furniture
value: 0 decimals by default. Withattribute, at most 1 decimal and only theunityou give. - Non-numeric states are shown as Home Assistant formats them (translated).
- In English there is no space before
%and°; numbers follow the Home Assistant language.
- Badge: active when
on; halo ifhalois set; uses the light animation (none by default). - Counted in the lights summary chip (light badges only, hidden ones included).
- Room view: listed with a toggle; Turn all off / Turn all on button for the room's lights.
- Card header: on / off switch (
light.turn_on/turn_off).
- Toggle in
entitieswidgets and in the room view (homeassistant.toggle), and an on / off switch in a card header. Inside a card, list rows show values, not toggles. -
protected: trueremoves the "off" switch from the element's card (fridge, freezer…); a Turn back on button appears when it is off. Room view and side-panel toggles do not followprotected. - A plug with a power sensor:
value+activeon the power,threshold: 5(the editor's Metered device).
- Opening
shutter: drawn outside, opacity fromcurrent_position(no position:closed= 0 %, anything else 100 %), animated whileopening/closing. Counted in the shutters chip when below 50 %. - Opening
entity: motorised gate or door, its state drives the opening colour when there is no contact. -
coverwidget: state, position bar, Open / Stop / Close (buttons hidden whensupported_featureslacks them). Confirmation dialog by default for device classesgarage,gate,door(see Security). - Room view: Open / Close buttons for the room's covers of class shade, shutter, blind, curtain, awning or window.
cover widget with valve.open_valve / stop_valve / close_valve; opening is always confirmed. Needs Home
Assistant 2024.1. Ready-made widget
Shut-off valve (Water).
lock widget: state (red when unlocked, open or jammed), Unlock when locked, Lock when unlocked, both when the
state is uncertain, Open when the lock supports it. Unlock and Open are always confirmed in a dialog. No code is ever sent: a
lock that needs a code is operated from its more-info.
| Device class | Use |
|---|---|
| door, window, opening, garage_door | Opening contact: red when on
|
| moisture, smoke, gas, carbon_monoxide, safety, problem, tamper, heat, cold | Value in red when on in widget rows and tiles; natural candidates for full-plan alerts
|
| motion, occupancy, presence | Badge active (a camera badge blinking on motion: alert: true) |
| plug, battery_charging |
plugged of the ev widget |
| Device class / unit | Use |
|---|---|
| temperature, humidity | Room temperature / humidity (tint and label), climate widget |
| power (W, kW, MW) | Badge or furniture value; source of the energy flows (by unit) |
| energy (kWh, Wh) |
periods widget from Home Assistant statistics (stat) |
| carbon_dioxide, volatile organic compounds, pm25, illuminance, pressure, battery… |
gauge and tile widgets, ready-made presets with sensible bounds |
| monetary, price (€/kWh) |
periods and tariff widgets |
Any numeric sensor works in a tile (with a history chart) or a gauge.
- Badge:
attribute: temperature(set point) orcurrent_temperature,active_attribute: hvac_action(heating / cooling). -
thermostatwidget: current temperature, set point with − / + (climate.set_temperature, rounded to the device step, withinmin_temp/max_temp), action and mode. The mode is not changed from the card. - Room
temperaturewithtemperature_attribute: current_temperature.
Badge active while playing. Ready-made widgets Television and Speakers.
A badge (the editor's Camera preset) with active set to a motion sensor and alert: true blinks on motion; a tap
opens the camera's more-info. The card does not display video.
-
ambience.peopleshowsperson.*entities at home or away, with their direction and distance computed from theirlatitude/longitudeand the Home Assistant home location. See Ambience › People. - Presence (chips
show: away|home, alertswhen_away) readspresence, defaultzone.home: a number (people in the zone) > 0 means somebody is home; for a person, group or binary sensor,home/onmeans present. -
device_trackerhas no special treatment (ready-made widget Phones).
-
weather.*: weather painted on outdoor rooms (condition,cloud_coverage,wind_speed,wind_bearing), room temperature throughtemperature_attribute, Weather preset. -
sun.sun: day and night (elevation,azimuth,next_setting).
- In side-panel lists: an Activate button (
scene.turn_on,script.turn_on,button.press,input_button.press); scripts and buttons ask for confirmation first. Inside a card, these rows show their value only. - Scenes linked to a room's area appear as buttons in its room view.
Automations and scripts linked to a room (area or entities) are listed in its room view with their last trigger; an
automation has an on / off toggle (homeassistant.toggle).
No special drawing: use a badge (a vacuum is active while cleaning), a tile, a chip or an alert
(state: triggered). Ready-made widgets exist for Alarm, Robot vacuum and Doorbell.
| Element | Default | Options |
|---|---|---|
| Room (floor or label) | Room view |
interaction.room_tap: more_info (its tap, else temperature) or none; zoom: false per room |
| Badge | More-info of entity
|
tap: card (default when it has a card), more_info, none
|
| Opening | More-info of contact, else entity, else shutter
|
same as badges |
| Connected furniture | Its card if it has one, else more-info | tap |
| Widget value, list row, chip, info box line, person | More-info |
In the demo, more-info windows are disabled (the entities are simulated).
Nothing is called without a tap; reading history, statistics and related items is automatic. The complete list:
| Service | When |
|---|---|
homeassistant.toggle |
Toggles of entities widgets and rows in side panels, device and automation rows of the room view |
light / switch / fan / input_boolean / humidifier .turn_on / .turn_off
|
On / off switch of a card header, on the element's own entity; never "off" when protected
|
scene.turn_on, script.turn_on, button.press, input_button.press
|
Activate buttons in side-panel lists; scene buttons of the room view |
cover.open_cover / stop_cover / close_cover, valve.open_valve / stop_valve / close_valve
|
cover widgets (only for an entity configured in such a widget) |
lock.lock / unlock / open
|
lock widgets (only for an entity configured in such a widget) |
climate.set_temperature |
thermostat widgets |
light.turn_on / turn_off, cover.open_cover / close_cover
|
Automatic buttons of the room view |
any domain.service
|
Room actions buttons: the service, data and target written in the configuration by an administrator |
Sensitive services (unlock, open a garage door, a gate or a valve, disarm, run a script, any service not known as safe)
always open a confirmation dialog that names the real service, whatever the button says. confirm: true asks for it
even for a safe service (room buttons, badges, openings, furniture, widgets). Details: Security.
When you add something in the editor, Maquette looks for matching entities so that you rarely type an entity id.
Criteria: domain, device class, unit and words in the entity id or name (English or French: co2, solar,
garage, leak…). Entities of the target device count most, then those of a device already chosen, then those of the
target room; diagnostic and configuration entities come last.
Which room: for openings and furniture, the room they touch; its area, else the Home Assistant area with the same
name (accents and case ignored), else the only area whose name contains it or is contained in it (4 letters at least).
Ready-made widgets use the room's area (room panels) or the device of the element (cards).
| Element | Fields | Rule |
|---|---|---|
| Opening drawn from a preset |
contact (door / window / opening / garage_door), shutter (shutter / blind / shade / curtain / awning / window), entity (garage / gate / door cover) |
One free match in the room → linked; several → short list; none in the room → left empty and highlighted. Entities already on the plan are skipped |
| Ready-made widget | Each entity field | One match → taken; several → short list (max 30); none → highlighted. List fields take the best few without asking |
Furniture template with ask
|
entity |
Looked up in the room where the piece is dropped |
| Badge | entity |
Full picker, filtered by domain |
The short list shows In "room" first, then Elsewhere, with Other entity… (full picker) and Skip.
A selected opening also shows suggestions: "Free contact: …" › Link, "3 free shutters in …" › Choose, "Type from the contact: Door" › Apply.
In the card section of a furniture, opening or badge panel, Fill from device builds a card from the entities sharing the same Home Assistant device (hidden and configuration entities left out), shows the real result, then Add or Replace card:
| Element | Proposed widgets |
|---|---|
| EV charger | Charging power chart with energy and cost, then plugged, voltage, temperature, alerts |
| Electrical panel | Power gauge (max = subscribed power, else 6000), apparent power, voltage, current, energy and cost, tariff (price and Tempo colours found anywhere in Home Assistant) |
| Boiler, or a device with a climate entity | Heating list (climate, temperatures, power, energy, alerts) |
| TV unit | Media players, then consumption |
| Other furniture | Consumption (power chart, energy, cost), else the device's entities |
| Window / door | Shutter or motor cover widget, then the contact with its battery and tamper sensors, and daily counters |
| Gate |
cover widget with confirm: true, then the device's sensors |
| Badge |
cover → cover widget; sensor → 24 h tile and other measurements; binary_sensor → detector with battery and tamper; otherwise as furniture |
-
Add › Rooms › Home Assistant area: pick an area, draw the room; it takes the area's name and
area. - All my HA areas (or Start with my areas on an empty plan): one 4 × 3 m room per selected area, in a grid next to the plan (one undo step).
For each area, Add the area's devices:
- the first temperature and humidity sensors become the room's sensors (if it has none);
- one badge per device, from its main entity, by priority: light, climate, media_player, camera, vacuum, fan, lock, switch, then motion / occupancy / presence / smoke / moisture / gas / carbon monoxide sensors; a switch with a power sensor becomes a metered badge; a camera with a motion sensor blinks on motion;
- devices already on the plan are skipped; hidden and categorized entities are ignored;
- door and window contacts and covers are listed under To place on the walls: click one, then its two ends on a
wall (a garage, gate or door cover becomes a gate with
entity, another cover a window withshutter, a door contact a door, any other contact a window).