Repository navigation
Privacy security and performance
What Maquette stores, what it sends, what it can do in your home, and what it costs.
- The plan (rooms, walls, devices, widgets, settings) is stored in the dashboard configuration of Home Assistant,
like any card, and saved with the frontend's
lovelace/config/savecall. Home Assistant requires an administrator for that. - The JavaScript file contains no data about your home.
- The browser keeps a few things locally (
localStorage, per planid):
| Key | Content | When |
|---|---|---|
maquette-brouillon:<id> |
The unsaved editor draft (the whole plan) | While editing, removed when it equals the saved plan |
maquette-versions:<id> |
Fallback copy of the last 5 saved versions and the last 3 plans before clean-up (since 0.3.0 they live in your Home Assistant account, see below) | After a save or a clean-up |
maquette-calques:<id> |
Layers a viewer hid with the Layers button | When used |
maquette-rouvrir:<id> (sessionStorage) |
Selection and grid, to reopen the editor after a save | 30 seconds |
-
Since 0.3.0, the saved versions are also stored in your Home Assistant user data (
frontend/set_user_data, keymaquette-versions:<id>, compressed, 1 MB per card): only your own account reads them, on every device, and nothing leaves your Home Assistant.
These copies stay in the browser in clear text, without expiry. Clear the site data of the browser to remove them (for
example on a shared or wall-mounted device). Do not put secrets such as codes in the data of room actions.
- The card makes no request outside Home Assistant: no CDN, no font, no analytics, no external API. The editor file
maquette-editeur.jsis read from the same folder as the card, on first use. - It talks to Home Assistant through the frontend connection only:
| Call | Used for |
|---|---|
history/history_during_period |
Tile charts, room climate trends, replay |
recorder/statistic_during_period |
Periods tables |
search/related |
Automations, scenes and scripts of a room |
lovelace/config, lovelace/config/save
|
Editor save |
frontend/get_user_data, frontend/set_user_data
|
Saved versions of your account (new in 0.3.0) |
/static/mdi/iconList.json (from Home Assistant) |
Icon search in the editor |
- A person's avatar is loaded from its
entity_pictureonly when Home Assistant serves it (a path starting with/); otherwise the initials are shown. A card's More info button set to a URL opens it in a new tab.
Nothing happens without a tap. The services it can call are listed in
Entities › Services Maquette can call: toggles, the buttons of cover, lock
and thermostat widgets, Activate buttons for scenes, scripts and buttons, and room actions (any domain.service
written by an administrator).
Sensitive services (unlock, open a garage door, disarm, run a script, any service not known as safe) always open a
confirmation dialog naming the real service and entities; confirm: true confirms the others too. See
Security.
- Every user of the dashboard sees the plan and can use its buttons, toggles and widgets, as with any card.
- Only administrators see the editor;
editor: falsehides it for everybody. - The demo (
demo: true) never reaches your devices: services and history only touch the simulation, and more-info windows are disabled.
An imported plan or template is configuration: it can contain room buttons, widgets and links. Only import plans from people you trust. Before anything is applied, the import shows what the plan can control, its links and the values removed as invalid; a plan can never run code nor load anything from another site. See Security › Import check.
-
Since 0.3.0, two files:
maquette-card.js(about 300 KB minified: the card, both languages, the demo), loaded with the dashboard, andmaquette-editeur.js(the editor, the clean-up engine, the YAML reader), loaded only the first time someone opens the editor. People who never edit never download it. - At rest the plan barely uses the CPU: energy flow dots move at 10 steps per second, dawn and dusk fade in small steps, rain and snow slide with a CSS animation that Chromium-based browsers and the Android app run on the compositor, and every animation pauses while the card is off screen or the page is hidden.
-
effects: light(default on touch screens witheffects: auto) draws the window light without blur and keeps clouds and fog still; forceeffects: fullon a powerful wall tablet if you prefer the full rendering. - The plan is drawn once, then each Home Assistant update only changes what depends on the entities of the plan.
- Animations are CSS and SVG, and pause while the card is off screen or the page is hidden; weather and energy flows are redrawn only when their entity changes.
- History is read on demand: charts and trends per entity (cached 5 minutes), statistics (cached 5 minutes), and the
replay (every entity of the plan over 1–72 hours, loaded when you open it). On a slow server, keep
replay.hourslow. - On a low-power wall tablet:
animation_level: reduced, andshow_furniture: falseif you do not need the furniture.
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