Skip to content

Reference FR

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

🇬🇧 English version

Référence de Maquette

Chaque élément d'une carte Maquette et chaque clé qu'elle accepte, une section par élément, avec les types, les valeurs, les défauts, un exemple YAML valide et l'endroit où le trouver dans l'éditeur intégré.

Langue. Les clés de configuration (et les valeurs énumérées) sont en anglais uniquement : c'est ce qu'on écrit dans le YAML, quelle que soit la langue. L'interface de la carte et de son éditeur suit la langue du profil Home Assistant (français ou anglais, voir language) ; cette page cite donc les libellés français de l'éditeur.

Cette page est la référence exhaustive : une table de consultation de chaque clé publique et de chaque valeur énumérée de la version 0.1.0. Les autres pages de ce wiki sont les guides : Dessiner le plan, Entités, Widgets, Ambiance… Si cette page et la carte ne disent pas la même chose, c'est la carte qui a raison : merci de le signaler.

Sommaire

Conventions

  • Unités. Les coordonnées et les tailles sur le plan sont en centimètres. x croît vers la droite, y croît vers le bas (convention de l'écran). Un point s'écrit [x, y], un segment [x1, y1, x2, y2], un polygone est une liste de points.
  • Les angles sont en degrés, dans le sens horaire (rotation, north, direction).
  • Entités. Tout champ de type entité prend un identifiant d'entité Home Assistant (sensor.living_temperature). Les champs de type attribut prennent le nom d'un attribut de cette entité (current_temperature).
  • Les booléens s'écrivent true / false. Pour la plupart des clés booléennes (outside, zoom, hidden, sub_area, protected, mirror, tint, alert, confirm, full_page, editor, legend, replay, showcase, when_away, average, marker, view_button, les clés de interaction, tablet et room_labels…), les booléens écrits en texte ("false", "no", "off", "0", "true", "yes"…) sont lus comme des booléens ; les nombres écrits en texte ("120") sont acceptés pour les coordonnées et les nombres.
  • Valeurs libres. Les noms, identifiants d'entités, icônes (mdi:…), couleurs (#rgb…#rrggbbaa, rgb() / hsl() aux valeurs numériques, un nom de couleur CSS ou var(--…)), nombres, coordonnées, data de service et états HA sont recopiés tels quels. Seules les clés et les valeurs énumérées (colonne Valeurs, reprise sous Valeurs énumérées) font partie du schéma.
  • Valeurs contrôlées. Tout ce qui finit dans le dessin est contrôlé à la lecture de la configuration : coordonnées et nombres doivent être des nombres finis (un point ne garde que son x et son y), valeurs énumérées connues, couleurs et icônes aux formats ci-dessus. Une valeur invalide est retirée (jamais d'erreur), avec un avertissement unique dans la console du navigateur (maquette-card : invalid value(s) removed: …) ; les textes s'affichent toujours comme du texte. Voir Sécurité.
  • Clés inconnues. Une clé absente de cette page est ignorée avec un avertissement dans la console du navigateur (maquette-card : unknown key « … » (ignored)) ; une valeur énumérée écrite sous son ancien nom français donne maquette-card : unknown value « … » for « … » (ignored). Chaque avertissement n'apparaît qu'une fois par page. Une configuration écrite avec les anciennes clés françaises des versions de développement (pieces sans rooms) est refusée avec un message demandant de la convertir en clés anglaises (CHANGELOG › Former French keys).
  • Les clés omises prennent le défaut indiqué. — signifie « absent / non défini ». L'éditeur supprime une clé remise à sa valeur par défaut, pour que le YAML enregistré reste minimal.
  • Clés communes aux éléments. Les pièces, ouvertures, pastilles, textes et meubles acceptent aussi hidden, level et group (voir Calques et Groupes).
  • Les chemins de l'éditeur reprennent les libellés français de l'interface : Éditeur : ⚙ Paramètres › Affichage désigne le bouton ⚙ Paramètres de la barre d'outils de l'éditeur (dans le menu « Plus d'outils » ⋮ sur téléphone), onglet Affichage de sa fenêtre. Ajouter › Meubles désigne le bouton Ajouter (touche A), onglet Meubles.

Racine de la carte

La carte elle-même : son type, son identité, son titre, et les listes de tous les éléments du plan.

Clé Type Valeurs Défaut Description
type texte custom:maquette-card — Type de carte (obligatoire). L'ancien custom:plan-maison-card fonctionne encore comme alias
id texte écrit par l'éditeur Identifiant qui permet à l'éditeur de retrouver la carte à l'enregistrement ; sert aussi de clé aux choix de calques propres à chaque navigateur
title texte — Titre au-dessus du plan. "" (vide) supprime l'en-tête en mode tablette
summary liste / booléen 4 puces par défaut Puces de résumé ; false ou [] = aucune
rooms liste [] Pièces et sous-zones
walls liste [] Murs
fences liste [] Limites et clôtures
openings liste [] Ouvertures
badges liste [] Pastilles d'appareils
texts liste [] Textes et zones d'informations
furniture liste [] Meubles et meubles connectés
panels objet — Panneaux de la vue d'ensemble
layers objet — Calques
groups liste — Groupes
templates liste — Modèles enregistrés par l'éditeur
ambience objet — Ambiance
animations objet — Animations par événement
alerts liste — Alertes plein plan
badge_style objet — Style des pastilles
replay booléen / objet — Revoir la journée
showcase booléen / objet — Exemples sous le plan
interaction objet — Interaction
tablet booléen / objet — Tablette murale
animation_level énum full reduced none full Niveau d'animation
demo booléen — Démo
language, full_page, margin, editor, show_furniture, presence, room_labels, temperature_tint, legend Réglages généraux
view_layout, layout_options, grid_options, visibility, card_mod Clés Home Assistant conservées
type: custom:maquette-card
id: home
title: Maison
rooms:
  - name: Séjour
    poly: [[0, 0], [500, 0], [500, 420], [0, 420]]
walls:
  - [0, 0, 500, 0]

Éditeur : la carte s'ajoute depuis le sélecteur de cartes de Home Assistant : Maquette (custom:maquette-card, part d'une pièce de 4 × 3 m avec ses murs, titre « Mon plan ») ou Maquette — démo (custom:maquette-card-demo, toujours la démo). Ajouter un tableau de bord propose les stratégies Maquette (custom:maquette : un tableau de bord « Maison » avec une vue panneau « Plan » et une carte vide id: plan, convertie en vues ordinaires au premier enregistrement) et Maquette — démo (custom:maquette-demo). title se trouve dans ⚙ Paramètres › Général ; id est écrit automatiquement au premier enregistrement.

Réglages généraux

Options valables pour toute la carte, qui portent sur son fonctionnement plutôt que sur ce qu'elle dessine.

Clé Type Valeurs Défaut Description
language texte auto en fr auto Langue de l'interface. auto suit le profil Home Assistant (français pour fr*, anglais sinon). Les nombres et les dates suivent toujours la locale de HA
full_page booléen true Mise en page pleine hauteur, sans barre de défilement, quand la carte fait au moins 760 px de large
margin nombre (cm) éditeur : 0–2000, pas de 10 40 Marge autour du dessin
editor booléen true Affiche le bouton de l'éditeur (crayon), aux administrateurs seulement. false le masque : supprimer la clé dans l'éditeur de code de HA pour le retrouver
show_furniture booléen / énum true false desktop true false masque les meubles (comme furniture dans layers.hidden) ; desktop ne les affiche que si la carte fait au moins 760 px de large
presence entité zone, personne, groupe… zone.home Présence par défaut pour les puces avec show et les alertes avec when_away : une zone compte les personnes (> 0 = quelqu'un est là), une personne / un groupe / un capteur binaire est présent quand il vaut home / on
room_labels objet tout à true Contenu des étiquettes des pièces, voir ci-dessous
room_labels.name booléen true Nom de la pièce (toujours lu par les lecteurs d'écran quand false)
room_labels.temperature booléen true Température
room_labels.humidity booléen true Humidité. Une étiquette restée vide est masquée
temperature_tint objet / false {min: 17, max: 28} Couleur des pièces selon la température, et bornes du dégradé de la légende. false = ni teinte ni dégradé
temperature_tint.min nombre (°C) éditeur : −30–60, pas de 0,5 17 Bleu à cette température et en dessous
temperature_tint.max nombre (°C) éditeur : −30–60, pas de 0,5 28 Rouge à cette température et au-dessus. Si min ≥ max, les deux reprennent leurs défauts
legend booléen true false masque la légende sous le plan
language: en
full_page: true
margin: 60
editor: true
show_furniture: desktop
presence: group.family
room_labels:
  name: true
  temperature: true
  humidity: false
temperature_tint:
  min: 18
  max: 26
legend: false

Éditeur : ⚙ Paramètres. Chaque champ, sa clé et ses bornes :

Onglet › section Champ Clé Valeurs Défaut
Général Titre title texte —
Général Langue de la carte language Automatique / English / Français auto
Général Pleine hauteur sur grand écran full_page interrupteur true
Général Marge autour du plan margin 0–2000 cm, pas de 10 40
Général Bouton d'édition (crayon) editor interrupteur (confirmation avant de le masquer) true
Affichage Meubles affichés show_furniture Toujours / Grands écrans (desktop) / Jamais true
Affichage Bouton Calques pour les visiteurs layers.view_button interrupteur false
Fonctions Revoir la journée replay interrupteur désactivé
Fonctions Période revue (avec le replay) replay.hours 1–72 h 24
Fonctions Vitesse au départ (avec le replay) replay.speed ×60 / ×300 / ×900 / ×3600 900
Fonctions Exemples sous le plan showcase interrupteur désactivé
Fonctions Présence par défaut presence entité zone.home
Fonctions › Réglés ailleurs Alertes plein plan, Puces du résumé — liens —
Pièces et légende › Sur les étiquettes Nom de la pièce / Température / Humidité room_labels.name / .temperature / .humidity interrupteurs true
Pièces et légende › Couleur des pièces Teinte selon la température temperature_tint interrupteur (false désactivé) activée
Pièces et légende › Couleur des pièces Bleu à / Rouge à (avec la teinte) temperature_tint.min / .max −30–60 °C, pas de 0,5, bleu sous rouge 17 / 28
Pièces et légende Légende sous le plan legend interrupteur true
Personnes sur le plan (seulement avec ambience.people) Personnes absentes / à la maison / Avatar ambience.people.away / .at_home / .avatar voir Personnes direction / grouped / picture
Pastilles d'appareils Appareil indisponible / inactif / Taille / Valeurs badge_style.* voir Style des pastilles
Interaction Toucher une pièce / Vue figée / Retour au plan entier après interaction.* voir Interaction ; reset_after 0–3600 s, pas de 10
Interaction › Tablette murale Mode tablette, puis Puces / Panneaux / Protection contre le marquage tablet, tablet.* voir Tablette murale
Interaction › Animations Niveau d'animation animation_level Complet / Réduit / Aucun full

Un réglage remis à sa valeur par défaut sort du YAML ; un nombre hors bornes est refusé. Les aides sont derrière les boutons ⓘ. Sous le titre de la fenêtre : la version installée (Maquette 0.1.0), un lien vers la Documentation et Signaler un problème (les issues du dépôt).

Pièces et sous-zones

Une pièce est un polygone, avec en option des capteurs de température et d'humidité ; la toucher ouvre la vue de la pièce. Avec sub_area: true, elle devient une sous-zone : un contour pointillé et nommé à l'intérieur d'une autre pièce (cuisine, douche…).

Clé Type Valeurs Défaut Description
name texte — Nom de la pièce (étiquette, vue de la pièce, listes)
poly liste de [x, y] ≥ 3 points obligatoire Contour. Une pièce sans 3 points valides est ignorée
label [x, y] — Position de l'étiquette ; pas d'étiquette sans elle
temperature entité — Capteur de température : valeur de l'étiquette et teinte de la pièce
humidity entité — Capteur d'humidité
temperature_attribute attribut — Lire cet attribut de temperature au lieu de son état (par exemple une entité weather ou climate)
humidity_attribute attribut — Idem pour humidity
tap entité — Entité ouverte depuis l'étiquette dans la vue de la pièce, et par interaction.room_tap: more_info (sinon temperature)
outside booléen false Espace extérieur : pas de teinte de température ; reçoit la météo et une teinte de nuit plus marquée
zoom booléen true false : pas de vue de la pièce au toucher (terrasse, cour…) ; l'étiquette ouvre toujours son entité
area texte id de pièce HA — Pièce Home Assistant liée : ses appareils, scènes et automatisations dans la vue de la pièce
auto_actions booléen true Boutons automatiques dans la vue de la pièce (lumières, volets)
automations booléen true Affiche les automatisations et scripts liés dans la vue de la pièce
actions liste — Boutons personnalisés de la vue de la pièce, voir ci-dessous
panels objet {left, right} — Panneaux affichés dans la vue de cette pièce
sub_area booléen false Sous-zone : contour pointillé, sans teinte, sans murs, non comptée dans les puces de résumé ; un clic ouvre la pièce qui la contient
hidden booléen false Masquée en vue (toujours comptée dans les puces de résumé)
level nombre 0 Ordre dans son calque (plus grand = au-dessus)
group texte id de groupe — Groupe de l'éditeur

Boutons de la pièce (rooms[].actions[]) :

Clé Type Valeurs Défaut Description
name texte — Libellé du bouton
icon icône — Icône du bouton
action texte domaine.service — Service appelé (par exemple scene.turn_on, light.turn_off). Un service sensible demande toujours une confirmation
target entité / énum un id d'entité, ou room — Entité cible ; room = toute la pièce (sa pièce HA area si elle est liée, sinon les entités de la pièce de ce domaine)
data objet {} Données du service, recopiées telles quelles
confirm booléen false true : un dialogue de confirmation même pour un service sûr. Un service sensible est confirmé dans tous les cas
rooms:
  - name: Séjour
    poly: [[0, 0], [500, 0], [500, 420], [0, 420]]
    label: [250, 210]
    temperature: sensor.living_temperature
    humidity: sensor.living_humidity
    tap: sensor.living_temperature
    area: living_room
    auto_actions: true
    automations: true
    actions:
      - name: Mode cinéma
        icon: mdi:movie-open-outline
        action: scene.turn_on
        target: scene.movie
        data: {}
        confirm: true
      - {name: Tout éteindre, icon: mdi:lightbulb-off, action: light.turn_off, target: room}
    panels:
      right:
        - {type: tile, title: Température, entity: sensor.living_temperature, history: 24}
  - name: Terrasse
    poly: [[0, 420], [500, 420], [500, 700], [0, 700]]
    outside: true
    zoom: false
    temperature: weather.home
    temperature_attribute: temperature
    humidity: weather.home
    humidity_attribute: humidity
  - name: Cuisine
    sub_area: true
    poly: [[20, 20], [200, 20], [200, 120], [20, 120]]
    label: [110, 70]
    level: 1
    hidden: false
    group: ground_floor

Éditeur : barre d'outils Pièce rectangulaire avec ses murs (R) ou Pièce de forme libre (P) ; Ajouter › Pièces (Pièce Home Assistant, Toutes mes pièces HA) ; sélectionner une pièce pour la modifier dans le panneau latéral (Boutons d'action, Panneau gauche / Panneau droit, Sous-zone). Sous-zones : Ajouter › Meubles › Sous-zones (cuisine, douche…).

Murs

Les murs sont de simples segments épais. Ils ne portent que leur calque et un groupe facultatif.

Élément Type Valeurs Défaut Description
[x1, y1, x2, y2] liste de 4 nombres obligatoire Segment, de (x1, y1) à (x2, y2)
5e valeur texte id de groupe — Groupe facultatif : [x1, y1, x2, y2, "<id>"]
walls:
  - [0, 0, 500, 0]
  - [500, 0, 500, 420, ground_floor]

Éditeur : barre d'outils Mur (M) ; sélectionner un mur pour En limite (le transformer en clôture) et Couper en deux. Masquer ou verrouiller tous les murs dans Calques.

Nettoyer le plan

Nettoyer le plan (baguette magique de la barre, Plus au téléphone) compare murs et ouvertures au contour des pièces, qui fait foi. Le dialogue montre le plan, défauts cerclés (un clic zoome dessus), Avant / Après, et les corrections à cocher avec leur nombre :

Correction Par défaut Effet
Aimanter murs et ouvertures aux pièces oui trous et décalages jusqu'à 12 cm, bouts qui dépassent d'un angle
Couper les murs sous les ouvertures oui style courant, pas compté comme défaut
Retirer les bouts de mur qui dépassent oui moins de 35 cm dans une pièce
Fusionner les murs alignés et les doublons oui murs coupés à chaque angle, en double, ou épais en 2 traits (≤ 25 cm, sans arête de pièce entre eux)
Ajouter les murs manquants non côté extérieur, d'après le contour, pièce par pièce ; génère aussi les murs d'une pièce intérieure qui n'en a aucun. Jamais sur une pièce outside: true
Fermer les passages entre pièces non arêtes communes sans mur, pièce par pièce
Aimanter les sommets presque confondus non sommets à moins de 6 cm : avec l'arrondi, seule correction qui change la forme des pièces
Arrondir à 5 cm non sommets, murs, ouvertures ; proposé seulement si au moins 30 % des cotes sont hors de la grille (plan relevé sur une image)

Appliquer = une seule action annulable (Ctrl+Z ou Annuler dans la notification) ; relancé juste après, il ne trouve plus rien. Avant, une copie de rooms, walls et openings est gardée dans ce navigateur (les 3 dernières) : Plans d'avant nettoyage les montre, en restaure une (annulable) ou la copie en YAML pour un autre appareil. Aucune nouvelle clé de configuration. Guide complet : Nettoyer le plan.

Limites et clôtures

Clôtures et limites de propriété : segments plus fins, soulignés d'un contour, au même format que les murs.

Élément Type Valeurs Défaut Description
[x1, y1, x2, y2] liste de 4 nombres obligatoire Segment
5e valeur texte id de groupe — Groupe facultatif
fences:
  - [-300, -200, 900, -200]
  - [900, -200, 900, 800, garden]

Éditeur : barre d'outils Limite / clôture (L) ; en sélectionner une pour En mur et Couper en deux.

Ouvertures

Fenêtres, portes et portails dessinés sur un segment de mur, avec leur contact, leur volet ou leur entité motorisée.

Clé Type Valeurs Défaut Description
type énum window door gate obligatoire Genre d'ouverture (dessin, icônes)
seg [x1, y1, x2, y2] obligatoire Segment sur le mur. Une ouverture sans seg valide est ignorée
name texte — Nom (listes, en-tête de la fiche, puce des ouvertures)
contact entité — Capteur d'ouverture : rouge quand il vaut on / open
shutter entité — Volet (cover) : dessiné côté extérieur, plus sombre quand il est fermé, animé pendant qu'il bouge
entity entité — Ouverture motorisée (portail, porte de garage), utilisée en l'absence de contact
outside [dx, dy] [-1, 0] [1, 0] [0, -1] [0, 1] [0, 0] Direction de l'extérieur (gauche, droite, haut, bas) : le volet est dessiné de ce côté
shutter_only booléen false Ne dessiner que le volet, sans le trait de la fenêtre
bay texte — Nom de baie : les vantaux qui ont la même bay forment une seule baie (une fiche, une ligne, comptée une fois)
leaves nombre 1 2 1 Nombre de battants dessinés (avec swing)
swing énum left right sliding — Dessine les battants : côté des gonds vu de l'intérieur, face à outside, ou deux panneaux coulissants. Absent = rien n'est dessiné
outward booléen false Les battants s'ouvrent vers l'extérieur (left / right)
animation énum / objet voir Animations animations.opening Animation de cette ouverture quand elle est ouverte
shutter_animation énum / objet voir Animations animations.shutter Animation de son volet pendant qu'il bouge
tap énum card more_info none card s'il y a une card, sinon plus d'infos Effet d'un toucher, voir Fiches
protected booléen false Pas d'arrêt depuis le plan : pas d'interrupteur « éteindre » dans sa fiche, interrupteur grisé tant qu'il est allumé dans la vue de la pièce
confirm booléen false true : son interrupteur allumer / éteindre (fiche, vue de la pièce) demande confirmation, même pour un service sûr (par exemple une porte de garage commandée par un switch)
card objet / liste — Sa fiche
hidden booléen false Masquée en vue (et absente de la vue de la pièce)
level nombre 0 Ordre dans le calque Ouvertures
group texte id de groupe — Groupe de l'éditeur
openings:
  - type: window
    seg: [90, 0, 410, 0]
    name: Fenêtre du séjour
    contact: binary_sensor.living_window
    shutter: cover.living_shutter
    outside: [0, -1]
    shutter_only: false
    bay: Baie du séjour
    animation: wave
    shutter_animation: {type: pulse, duration: 1}
    tap: card
    protected: false
    card:
      title: Baie du séjour
      widgets:
        - {type: cover, entity: cover.living_shutter}
  - type: door
    seg: [500, 100, 500, 190]
    contact: binary_sensor.front_door
    shutter: cover.front_door_shutter
    leaves: 1
    swing: right
    outward: false
    level: 1
  - type: gate
    seg: [200, -200, 500, -200]
    entity: cover.gate
    tap: more_info
    group: garden
    hidden: false

Éditeur : barre d'outils Ouverture (O), ou Ajouter › Ouvertures : préréglages (Fenêtre + volet + contact, Porte + volet + contact, Porte-fenêtre + volet + contact, Baie coulissante, Fenêtre oscillo-battante, Porte de garage, Portail…) et Créer une ouverture (type, vantaux, ouverture, capteurs, animation, aperçu ; Ajouter puis la tracer, ou Enregistrer dans Mes modèles). Tracée sur un mur, ses capteurs sont cherchés parmi les entités libres de la pièce bordée (area de la pièce, sinon la pièce HA de même nom, sinon la seule dont le nom contient le sien ou y est contenu) : une seule est reliée d'office, plusieurs ouvrent une petite liste (cette pièce d'abord, Autre entité…, Ignorer), aucune laisse le champ surligné « à compléter » ; outside part à l'opposé de la pièce intérieure. La sélectionner pour le panneau latéral (Type, Vantaux, Ouverture, Contact, Volet, Côté extérieur, Baie (vantaux regroupés), Animation (ouverte), Animation du volet (en mouvement), Fiche, Modifier dans l'atelier pour appliquer un autre préréglage sans la redessiner) ; le panneau suggère un contact ou un volet libre de la même pièce, ou le type qui correspond à la classe du contact.

Pastilles d'appareils

Une pastille est une icône ronde d'appareil posée sur le plan, colorée quand son entité est active, avec en option une valeur, un halo lumineux, une animation et une fiche.

Clé Type Valeurs Défaut Description
entity entité — Entité principale : état, couleur, plus d'infos, allumer / éteindre dans sa fiche
pos [x, y] obligatoire Position. Une pastille sans pos valide est ignorée
icon icône mdi:circle Icône
name texte nom de l'entité Info-bulle, listes, en-tête de la fiche
color couleur couleur d'état actif de HA (--state-active-color, sinon jaune) Couleur quand elle est active
light_color booléen déduit de color La couleur est claire : l'icône est dessinée en sombre quand la pastille est active
halo nombre (cm) / booléen — Rayon du halo lumineux quand elle est active ; true = 130
room texte un name de pièce — Limiter le halo à cette pièce
alert booléen false Pastille d'alerte : utilise animations.alert (pulsation) quand elle est active
active entité entity Entité qui définit l'état « actif »
active_attribute attribut — Utiliser cet attribut de l'entité active au lieu de son état
threshold nombre — Active quand la valeur active dépasse ce nombre. Sans lui : active pour on, open, opening, closing, playing, heating, cooling, cleaning, detected, home
value entité — Valeur numérique affichée dans la pastille
attribute attribut — Affiche cet attribut de entity comme valeur (prime sur value)
unit texte unité de l'entité Unité après la valeur (écrite telle quelle, par exemple " °C")
decimals nombre 0–6 0 (attribute : 1) Décimales de value, ou d'un attribute numérique
tap énum card more_info none card s'il y a une card, sinon plus d'infos Voir Fiches
protected booléen false Pas d'arrêt depuis le plan : pas d'interrupteur « éteindre » dans sa fiche, interrupteur grisé tant qu'il est allumé dans la vue de la pièce
confirm booléen false true : son interrupteur allumer / éteindre (fiche, vue de la pièce) demande confirmation, même pour un service sûr (par exemple une porte de garage commandée par un switch)
card objet / liste — Sa fiche
animation énum / objet voir Animations animations.light, .alert ou .badge Animation quand elle est active
hidden booléen false Masquée en vue et dans la vue de la pièce (toujours comptée dans les puces de résumé)
level nombre 0 Ordre dans le calque Appareils
group texte id de groupe — Groupe de l'éditeur
badges:
  - entity: light.living_lamp
    pos: [230, 200]
    icon: mdi:floor-lamp
    name: Lampe
    color: "#f6c445"
    light_color: true
    halo: 170
    room: Séjour
    animation: {type: halo, color: "#ffd54f"}
  - entity: switch.washer_plug
    pos: [60, 380]
    icon: mdi:washing-machine
    active: sensor.washer_power
    threshold: 5
    value: sensor.washer_power
    unit: " W"
    decimals: 0
    tap: card
    protected: true
    card: {title: Lave-linge, widgets: [{type: tile, entity: sensor.washer_power, history: 24}]}
  - entity: climate.living_room
    pos: [300, 60]
    icon: mdi:thermostat
    attribute: temperature
    unit: " °C"
    active_attribute: hvac_action
    alert: false
    level: 2
    hidden: false
    group: ground_floor

Éditeur : Ajouter › Appareils (Lumière, Appareil libre…), puis cliquer sur le plan ; la sélectionner pour le panneau latéral (Valeur affichée sur la pastille, Réglages avancés, Fiche, Animation).

Textes et zones d'informations

Un texte est une étiquette libre sur le plan. Avec info, il devient une zone d'informations : une liste encadrée de valeurs d'entités en direct.

Clé Type Valeurs Défaut Description
text texte — Le texte ; le titre d'une zone d'informations (facultatif dans ce cas)
pos [x, y] obligatoire Centre. Un texte sans pos valide est ignoré
size nombre 1 Facteur de taille de la police (1 = taille par défaut) ; les textes suivent le zoom
style énum subtle encadré Zones d'informations seulement : subtle = sans fond
info liste — Lignes de la zone d'informations, voir ci-dessous
hidden booléen false Masqué en vue
level nombre 0 Ordre dans le calque Textes
group texte id de groupe — Groupe de l'éditeur

Lignes d'une zone d'informations (texts[].info[]) :

Clé Type Valeurs Défaut Description
entity entité — Entité affichée (un toucher ouvre sa fenêtre plus d'infos)
name texte nom de l'entité Nom de la ligne
attribute attribut — Affiche cet attribut au lieu de l'état
unit texte unité de l'entité Unité
decimals nombre 1 (0 à partir de 100) Décimales
icon icône icône de l'entité ou de la mesure Icône
texts:
  - text: Jardin
    pos: [700, 500]
    size: 1.4
  - text: Dehors
    pos: [700, -100]
    style: subtle
    level: 1
    group: garden
    hidden: false
    info:
      - {entity: sensor.outside_temperature}
      - {entity: sensor.living_humidity, name: Séjour, decimals: 0}
      - {entity: climate.thermostat, attribute: current_temperature, unit: "°C", icon: mdi:thermostat}

Éditeur : barre d'outils Texte (T) ; Ajouter › Zone d'informations, puis Entité pour ajouter des lignes dans son panneau.

Meubles

Symboles vus de dessus. Un meuble simple ne capte jamais les clics en vue ; un meuble doté d'une entité, d'une valeur ou d'une fiche est un meuble connecté.

Clé Type Valeurs Défaut Description
type énum voir le catalogue ci-dessous, ou custom obligatoire Symbole. Un type inconnu est dessiné comme un rectangle
shape liste 40 formes au plus — custom seulement : le dessin, voir ci-dessous
pos [x, y] [0, 0] Centre
size [largeur, profondeur] / nombre 5–5000 chacune (atelier Créer un meuble : 2000 au plus) taille du catalogue Taille avant rotation ; un nombre seul = un carré
rotation nombre (°) 0 Rotation dans le sens horaire
mirror booléen false En miroir (canapé d'angle, baignoire…)
name texte nom du type Info-bulle ; pour area, l'étiquette dessinée sur le plan
chairs nombre 0–12 selon la table Tables seulement : nombre de chaises
tint booléen true Meuble connecté : teinté au repos (false = couleur seulement quand il est actif)
hidden booléen false Masqué en vue
level nombre 0 (-1 pour rug et area) Ordre dans le calque Meubles
group texte id de groupe — Groupe de l'éditeur
entity, value, active, active_attribute, threshold, attribute, unit, decimals, color, tap, protected, confirm, card, animation Voir Meubles connectés
furniture:
  - type: double_bed
    pos: [420, 160]
    size: [160, 200]
    rotation: 90
    name: Lit
  - type: corner_sofa
    pos: [150, 300]
    mirror: true
  - type: round_table
    pos: [380, 330]
    chairs: 5
  - type: area
    pos: [120, 80]
    size: [220, 140]
    name: Coin lecture
    level: -1
    group: ground_floor
    hidden: false

Catalogue (catégorie telle qu'affichée dans l'éditeur, taille par défaut en cm, largeur × profondeur) :

Catégorie type Nom Taille par défaut Remarques
Séjour sofa Canapé 200 × 90
Séjour corner_sofa Canapé d'angle 250 × 200
Séjour armchair Fauteuil 80 × 80
Séjour coffee_table Table basse 100 × 60
Séjour tv_unit Meuble TV 160 × 45 couleur #7e57c2
Séjour shelf Étagère 100 × 35
Séjour rug Tapis 200 × 140 niveau −1
Séjour plant Plante 45 × 45
Séjour fireplace Cheminée / poêle 100 × 50
Repas square_table Table carrée 90 × 90 4 chaises
Repas rect_table Table rectangulaire 160 × 90 6 chaises
Repas round_table Table ronde 110 × 110 4 chaises, ronde
Repas chair Chaise 45 × 45
Cuisine counter Plan de travail 240 × 60
Cuisine sink Évier 100 × 60
Cuisine hob Plaques de cuisson 60 × 60 couleur #ff7043
Cuisine fridge Réfrigérateur 60 × 65 couleur #29b6f6
Cuisine washing_machine Lave-linge 60 × 60 couleur #42a5f5
Cuisine dishwasher Lave-vaisselle 60 × 60 couleur #42a5f5
Chambre et bureau single_bed Lit simple 90 × 190
Chambre et bureau double_bed Lit double 160 × 200
Chambre et bureau crib Lit bébé 60 × 120
Chambre et bureau wardrobe Armoire 120 × 60
Chambre et bureau dresser Commode 100 × 50
Chambre et bureau desk Bureau 140 × 70 couleur #fb8c00
Chambre et bureau nightstand Table de nuit 45 × 40
Salle d'eau shower Douche 90 × 90
Salle d'eau bathtub Baignoire 170 × 75
Salle d'eau washbasin Lavabo 60 × 45
Salle d'eau toilet WC 40 × 65
Technique boiler Chaudière 45 × 35 couleur #ef5350
Technique water_heater Ballon d'eau chaude 55 × 55 rond, couleur #ef5350
Technique radiator Radiateur 80 × 12 couleur #ef5350
Technique electrical_panel Tableau électrique 50 × 15 couleur #fbc02d
Technique router Box internet / NAS 35 × 25 couleur #26a69a
Technique ev_charger Borne de recharge 30 × 20 couleur #43a047
Technique heat_pump Pompe à chaleur / clim (extérieur) 90 × 35 couleur #26c6da
Formes et espaces area Espace nommé 300 × 200 niveau −1
Formes et espaces rect Rectangle libre 100 × 60
Formes et espaces circle Cercle libre 60 × 60 rond
Formes et espaces stairs Escalier 90 × 280
Extérieur car Voiture 178 × 406 couleur #43a047
Extérieur bike Vélo 60 × 180
Extérieur tree Arbre / arbuste 200 × 200 rond
Extérieur pool Piscine 800 × 400

Les tapis et les espaces nommés sont dessinés sous les autres meubles (level: -1 par défaut). Les types ronds n'ont pas de bouton miroir. La couleur est l'accent par défaut des meubles connectés de ce type.

Éditeur : Ajouter › Meubles (un onglet, avec Créer un meuble, les sous-zones et une section par catégorie ; recherche), cliquer pour poser ; le sélectionner pour la taille, la rotation (±15°, ±90°), Miroir, Chaises, Modèle.

Meubles personnalisés

type: custom dessine sa forme shape : des formes dans l'ordre (la dernière au-dessus), coordonnées en % de size depuis le coin haut gauche, pour que le meuble puisse changer de taille. Les valeurs invalides sont bornées ou retirées, jamais écrites telles quelles dans le dessin. color (#rrggbb, un nom de couleur ou var(--…), le reste est retiré) teinte le meuble ; connecté, son accent et son aspect « actif » s'appliquent toujours.

Clé de forme Type Valeurs Défaut Description
kind énum rect rounded_rect ellipse line polygon obligatoire Les genres inconnus sont retirés
x, y nombre (%) −50–150 0 Coin haut gauche (rect, rounded_rect, ellipse)
w, h nombre (%) 0–200 100 Largeur et profondeur (rect, rounded_rect, ellipse)
radius nombre (cm) 0–500, au plus la moitié du petit côté 8 Rayon des coins de rounded_rect
points [[x, y], …] (%) 2–24 points (line), 3–24 (polygon) obligatoire line, polygon
style énum filled outline dashed filled Remplissage et trait
furniture:
  - type: custom
    pos: [250, 200]
    size: [180, 120]
    name: Banc d'angle
    color: "#188038"
    shape:
      - {kind: polygon, points: [[0, 0], [100, 0], [100, 40], [40, 40], [40, 100], [0, 100]]}
      - {kind: ellipse, x: 10, y: 10, w: 20, h: 20}
      - {kind: line, points: [[0, 50], [100, 50]], style: dashed}

Éditeur : Ajouter › Meubles › Créer un meuble : partir d'une forme de base (rectangle, rectangle arrondi, rond, forme en L) ou de n'importe quel meuble du catalogue (converti en formes), régler nom, taille (cm), catégorie, mots de recherche, couleur, formes (en cm) et au besoin une entité, avec un aperçu à l'échelle ; Ajouter pour le poser ou Enregistrer dans Mes modèles (rangé dans sa catégorie, avec Modifier). Un meuble posé s'ouvre dans le même atelier depuis son panneau (Modifier la forme, ou Personnaliser la forme pour un meuble du catalogue). Dans l'aperçu, les formes se choisissent, se glissent et se redimensionnent directement (8 poignées, Maj : proportions ; sommets des traits et polygones, + pour en ajouter un, appui long ou Suppr pour le retirer), aimantées à une grille de 5 cm et aux bords et centres (Alt : sans aimant) ; flèches 1 cm (Maj : 10 cm), Ctrl+Z / Ctrl+Y annulent dans l'atelier. Les valeurs restent en % de size, au centième au plus.

Meubles connectés

Tout meuble devient connecté avec une entity, une value ou une card : teinte d'accent, aspect « actif », pastille de valeur, et zone tactile qui ouvre sa fiche ou sa fenêtre plus d'infos. Mêmes clés et même sens que pour les pastilles d'appareils.

Clé Type Valeurs Défaut Description
entity entité — Entité principale : état, aspect actif, allumer / éteindre dans sa fiche
value entité — Valeur numérique affichée dans une pastille sur le meuble (masquée en dessous de 24 px à l'écran)
active entité entity Entité qui définit l'état « actif »
active_attribute attribut — Attribut de l'entité active
threshold nombre — Actif au-dessus de cette valeur (par exemple 50 W pour une borne de recharge)
attribute attribut — Affiche cet attribut de entity comme valeur
unit texte unité de l'entité Unité de la valeur
decimals nombre 0–6 0 Décimales de la valeur
color couleur #rgb…#rrggbbaa, nom CSS, var(--…) selon le type, sinon couleur principale du thème Couleur d'accent (voir le catalogue)
tint booléen true false = coloré seulement quand il est actif
tap énum card more_info none card s'il y a une card, more_info avec une entité ou une valeur, sinon none Effet d'un toucher
protected booléen false Pas d'interrupteur « éteindre » dans sa fiche (réfrigérateur, congélateur…)
confirm booléen false true : l'interrupteur allumer / éteindre de sa fiche demande confirmation, même pour un service sûr
card objet / liste — Sa fiche
animation énum / objet voir Animations animations.furniture Animation quand il est actif ; shape: outline suit son contour
furniture:
  - type: ev_charger
    pos: [495, -870]
    name: Borne
    entity: switch.charger_plug
    value: sensor.charger_plug_power
    active: sensor.charger_plug_power
    threshold: 50
    unit: W
    decimals: 0
    color: "#188038"
    tint: true
    tap: card
    protected: true
    animation: {type: wave, shape: outline}
    card:
      title: Recharge de la voiture
      widgets:
        - {type: ev, title: Voiture, battery: sensor.ev_battery, power: sensor.charger_plug_power}
  - type: boiler
    pos: [40, 600]
    entity: climate.boiler
    active_attribute: hvac_action
    attribute: current_temperature

Éditeur : sélectionner le meuble › Connecté (entité, valeur, effet du toucher, protégé, Réglages avancés) ; Remplir depuis l'appareil propose une fiche ; Fusionner avec « … » absorbe une pastille de la même entité située à moins de 1,5 m.

Fiches

Une fiche est la fenêtre qui s'ouvre quand on touche une ouverture, une pastille ou un meuble connecté : un en-tête (icône, nom, état, interrupteur allumer / éteindre, bouton ⓘ Plus d'infos, ✕ pour fermer) et une pile de widgets.

Clé Type Valeurs Défaut Description
card objet / liste — La fiche ; une simple liste est lue comme ses widgets
card.title texte nom de l'élément Titre de la fiche
card.widgets liste widgets [] Widgets, dans l'ordre (mêmes types et mêmes clés que dans les panneaux)
card.more_info entité / chemin / URL / false entité principale Effet du bouton ⓘ Plus d'infos de l'en-tête : une entité ouvre sa fenêtre plus d'infos de HA, un chemin de tableau de bord (/lovelace/energie, pas //…) y mène, une URL (http://… ou https://…) s'ouvre dans un nouvel onglet, false (ou none) masque le bouton. Tout autre lien (javascript:, data:…) est retiré
tap énum card more_info none card s'il y a une fiche card ouvre la fiche, more_info la fenêtre plus d'infos de HA pour l'entité principale, none ne fait rien
protected booléen false Ne jamais afficher l'interrupteur « éteindre » (un bouton « Rallumer » seulement quand l'élément est éteint)
confirm booléen false L'interrupteur allumer / éteindre demande confirmation, même pour un service sûr (les widgets de la fiche ont leur propre confirm)

L'interrupteur allumer / éteindre n'apparaît que pour les entités switch, light, fan, input_boolean et humidifier. Dans une fiche, les lignes affichent des valeurs (ni interrupteur, ni bouton Activer). Les services qu'une fiche peut appeler sont : le turn_on / turn_off de l'élément lui-même (l'interrupteur ; jamais turn_off s'il est protected), et les boutons de ses widgets cover (ouvrir / arrêter / fermer une cover ou une vanne), lock (verrouiller / déverrouiller / ouvrir) et thermostat (climate.set_temperature). Les services sensibles (déverrouiller, ouvrir une porte de garage…) demandent toujours une confirmation, voir Sécurité. card.more_info accepte aussi none (comme false).

badges:
  - entity: switch.fridge_plug
    pos: [80, 60]
    tap: card
    protected: true
    card:
      title: Réfrigérateur
      more_info: /lovelace/energie   # le bouton ⓘ ouvre le tableau de bord Énergie
      widgets:
        - {type: tile, title: Puissance, entity: sensor.fridge_power, history: 24}
        - {type: entities, entities: [sensor.fridge_temperature, {entity: sensor.fridge_energy, name: Aujourd'hui}]}
openings:
  - type: door
    seg: [0, 100, 0, 190]
    contact: binary_sensor.back_door
    card:
      - {type: entities, entities: [binary_sensor.back_door, sensor.back_door_battery]}

Éditeur : sélectionner l'ouverture, la pastille ou le meuble › Fiche : Ajouter un widget, Remplir depuis l'appareil, Fiche en modèle, Bouton « Plus d'infos » (par défaut, une autre entité, une page, masqué) ; la colonne de droite montre la vraie fiche tant que l'élément est sélectionné.

Panneaux

Colonnes latérales de widgets à côté du plan. Les panels de la carte s'affichent dans la vue d'ensemble ; ceux d'une pièce dans la vue de cette pièce.

Clé Type Valeurs Défaut Description
panels.left liste widgets [] Colonne de gauche (fusionnée en une seule colonne sur les écrans étroits)
panels.right liste widgets [] Colonne de droite
panels:
  left:
    - {type: tariff, title: Tarif, price: sensor.tempo_price, period: sensor.tempo_period}
  right:
    - {type: gauge, title: Puissance, entity: sensor.linky_power, min: 0, max: 9000}
rooms:
  - name: Bureau
    poly: [[0, 0], [300, 0], [300, 300], [0, 300]]
    panels:
      left: [{type: climate, rooms: [Bureau]}]
      right: []

Éditeur : Ajouter un widget sous les colonnes Panneau gauche / Panneau droit (ou Ajouter › Widgets) ; cliquer sur un widget pour le modifier, le faire glisser pour le déplacer. Panneaux d'une pièce : sélectionner la pièce › Panneau gauche / Panneau droit. Masqués par défaut en mode tablette.

Widgets

Les widgets remplissent les panneaux et les fiches. Chaque widget a un type ; les clés ci-dessous sont communes, et chaque type ajoute les siennes (une même clé a toujours le même sens).

Clé Type Valeurs Défaut Description
type énum tariff ev gauge tile entities periods divider cover lock thermostat climate obligatoire Type de widget
title texte — Titre de l'en-tête (tile, gauge, cover, lock, thermostat : nom de l'entité par défaut)
icon icône selon le type Icône de l'en-tête
color couleur — Couleur d'accent (gauge : couleur de l'arc)
rows liste — Lignes supplémentaires sous tile, gauge, tariff, ev, cover, lock et thermostat, voir ci-dessous
confirm booléen false (cover, lock : voir leur section) true : chaque service du widget demande confirmation, même sûr : interrupteurs et boutons Activer de ses lignes, consigne du thermostat, boutons de cover et de serrure. false ne retire jamais la confirmation d'un service sensible

Lignes (rows[], ainsi que entities[] du widget entities) : un id d'entité, ou un objet :

Clé Type Valeurs Défaut Description
entity entité — Entité affichée (toucher = plus d'infos)
name texte nom de l'entité Nom de la ligne
icon icône icône de l'entité Icône de la ligne
decimals nombre 1 (0 à partir de 100) Décimales
unit texte unité de l'entité Unité
panels:
  right:
    - type: tile
      title: Dehors
      icon: mdi:thermometer
      color: "#1a73e8"
      entity: sensor.outside_temperature
      rows:
        - sensor.outside_humidity
        - {entity: sensor.outside_pressure, name: Pression, icon: mdi:gauge, decimals: 0, unit: hPa}

Éditeur : Ajouter › Widgets, ou Ajouter un widget dans un panneau ou une fiche ; cliquer sur le widget pour le modifier. L'éditeur propose aussi 65 widgets prêts à l'emploi construits sur ces types : voir Widgets › Widgets prêts à l'emploi.

Widget tariff

Prix de l'électricité en direct, période en cours (heures pleines / heures creuses) et couleurs Tempo du jour et du lendemain.

Clé Type Valeurs Défaut Description
price entité — Capteur de prix (son unité, sinon €/kWh)
period entité — Période en cours ; verte quand elle contient « creuse » / « off-peak », orange sinon, neutre (contour) si elle est indisponible ou inconnue
color_today entité — Couleur Tempo du jour (Bleu / Blanc / Rouge ou Blue / White / Red)
color_tomorrow entité — Couleur Tempo du lendemain
panels:
  left:
    - type: tariff
      title: Tarif en direct
      price: sensor.tempo_price
      period: sensor.tempo_period
      color_today: sensor.tempo_today
      color_tomorrow: sensor.tempo_tomorrow

Widget ev

Véhicule électrique : anneau de batterie, état de charge, autonomie et session de recharge.

Clé Type Valeurs Défaut Description
battery entité — Niveau de batterie (%)
range entité — Autonomie
power entité — Puissance de charge, dans l'unité de l'entité (W, kW ou MW ; sans unité = W) ; affichée en W, ou en kW dès 1000 W
threshold nombre (W) 50 En charge quand power (ramenée en W) dépasse ce seuil
plugged entité — État de branchement (on, plugged, connected, true)
session_kwh entité — Énergie de la session
session_cost entité — Coût de la session
panels:
  left:
    - type: ev
      title: Voiture
      battery: sensor.ev_battery
      range: sensor.ev_range
      power: sensor.charger_power
      threshold: 50
      plugged: binary_sensor.ev_plugged
      session_kwh: sensor.charger_session
      session_cost: sensor.charger_session_cost

Widget gauge

Une valeur sur un arc entre un minimum et un maximum (vert, puis orange à partir de 60 %, rouge à partir de 85 %, sauf avec color ou severity).

Clé Type Valeurs Défaut Description
entity entité — Valeur
min nombre décimales permises (pH : 6.5) 0 Début de l'arc
max nombre décimales permises 100 Fin de l'arc (l'éditeur propose 9000)
unit texte unité de l'entité Unité
decimals nombre 1 (0 à partir de 100) Décimales
severity objet green, yellow, red : nombres — Couleur de l'arc selon la valeur, comme la carte Jauge de HA : chaque couleur vaut à partir de sa valeur jusqu'à la suivante (ordre libre, une à trois couleurs)
panels:
  right:
    - {type: gauge, title: Puissance, entity: sensor.linky_power, min: 0, max: 9000, unit: W, decimals: 0}
    - {type: gauge, title: CO₂, entity: sensor.living_co2, min: 400, max: 2000, unit: ppm, severity: {green: 0, yellow: 800, red: 1200}}
    - {type: gauge, title: Batterie maison, entity: sensor.home_battery, unit: "%", severity: {red: 0, yellow: 20, green: 50}}

Widget tile

Une grande valeur, avec en option un graphique d'historique.

Clé Type Valeurs Défaut Description
entity entité — Valeur
unit texte unité de l'entité Unité
decimals nombre 1 (0 à partir de 100) Décimales
history nombre (h) — Heures d'historique du graphique ; 0 ou absent = pas de graphique (l'éditeur propose 24)
panels:
  right:
    - {type: tile, title: Réfrigérateur, entity: sensor.fridge_temperature, unit: "°C", decimals: 1, history: 24}

Widget entities

Une liste d'entités ; les lumières, interrupteurs, ventilateurs, humidificateurs et booléens d'entrée ont un interrupteur, les scènes, scripts et boutons un bouton Activer (valeurs seulement dans une fiche) ; un script ou un bouton demande confirmation avant de partir (pas une scène, sauf si le widget a confirm: true, qui confirme aussi ses interrupteurs) ; un capteur binaire de problème (fuite, fumée, gaz, CO…) à on s'affiche en rouge.

Clé Type Valeurs Défaut Description
entities liste lignes — Même format que rows
panels:
  left:
    - type: entities
      title: Lumières
      entities:
        - light.living_lamp
        - {entity: switch.coffee_maker, name: Café, icon: mdi:coffee}

Widget periods

Un tableau jour / semaine / mois / année, tiré des statistiques à long terme de HA ou de quatre entités par colonne.

Clé Type Valeurs Défaut Description
periods liste day week month year les quatre Lignes, dans cet ordre
columns liste [] Colonnes, voir ci-dessous
note texte — Note sous le tableau

Colonnes (columns[]) :

Clé Type Valeurs Défaut Description
name texte — En-tête de la colonne
unit texte — Unité sous l'en-tête
stat entité — Capteur cumulatif : variation sur le jour / la semaine / le mois / l'année calendaire, d'après les statistiques de HA
factor nombre 1 Multiplicateur appliqué aux valeurs, avec stat comme avec les quatre entités (par exemple 0.001 pour passer de Wh à kWh)
decimals nombre 2 Décimales
day, week, month, year entité — Sans stat : une entité par période
source énum stat entities — Écrit par l'éditeur pour retenir laquelle des deux sources la colonne utilise
panels:
  left:
    - type: periods
      title: Consommation
      periods: [day, week, month, year]
      note: D'après le compteur Linky
      columns:
        - {name: Énergie, unit: kWh, stat: sensor.energy_total, factor: 0.001, decimals: 1, source: stat}
        - name: Coût
          unit: €
          source: entities
          day: sensor.cost_day
          week: sensor.cost_week
          month: sensor.cost_month
          year: sensor.cost_year

Widget divider

Un trait horizontal, avec en option un titre de section.

Clé Type Valeurs Défaut Description
title texte — Titre de section
spacing nombre (px) — Espace au-dessus et en dessous
panels:
  left:
    - {type: divider, title: Chauffage, spacing: 12}

Widget cover

Commande d'un cover (volet, store, portail, garage ou porte motorisée) ou d'une valve (vanne d'arrêt, arrosage) : état, barre de position, Ouvrir / Stop / Fermer.

Clé Type Valeurs Défaut Description
entity entité un cover.* ou valve.* — Le volet ou la vanne ; les autres domaines sont écartés
confirm booléen true pour les classes d'appareil garage, gate, door et pour les vannes ; sinon false Dialogue de confirmation avant chaque bouton. L'ouverture est toujours confirmée pour une vanne et pour une cover qui n'est pas un volet, store, rideau, auvent ou fenêtre (false ne la retire pas)

Seuls cover.open_cover, cover.stop_cover et cover.close_cover (ou valve.open_valve, valve.stop_valve, valve.close_valve) de cette entité sont appelés ; Stop est masqué quand l'entité ne le prend pas en charge.

panels:
  left:
    - type: cover
      title: Portail
      entity: cover.gate
      confirm: true
      rows: [{entity: binary_sensor.gate_closed}]

Widget lock

Une serrure (lock) : état (en rouge si déverrouillée ou bloquée) et l'action utile — Déverrouiller si elle est verrouillée, Verrouiller sinon, les deux si l'état est incertain (bloquée, en mouvement, inconnu) — et Ouvrir si la serrure sait ouvrir la porte.

Clé Type Valeurs Défaut Description
entity entité un lock.* — La serrure ; les autres domaines sont écartés
confirm booléen déverrouiller et ouvrir seulement true : Verrouiller est confirmé aussi. Déverrouiller et Ouvrir sont toujours confirmés (false ne le retire pas)

Seuls lock.lock, lock.unlock et lock.open de cette entité sont appelés (aucun code n'est envoyé : une serrure qui en demande un se commande depuis sa fenêtre « plus d'infos »). Rien ne se passe depuis l'aperçu de l'éditeur.

panels:
  left:
    - {type: lock, title: Porte d'entrée, entity: lock.front_door}

Widget thermostat

Une entité climate : température mesurée, consigne avec −/+ (pas et limites de l'appareil), action en cours, mode.

Clé Type Valeurs Défaut Description
entity entité un climate.* — Thermostat
confirm booléen false true : chaque −/+ demande confirmation (climate.set_temperature)
panels:
  right:
    - {type: thermostat, entity: climate.living_room, rows: [sensor.living_humidity]}

Widget climate

Température et humidité de chaque pièce équipée de capteurs, avec leur tendance sur une durée donnée et des alertes.

Clé Type Valeurs Défaut Description
duration nombre (min) 5–240 30 Fenêtre de la tendance (d'après l'historique de HA)
rooms liste name de pièces chaque pièce munie d'un capteur Pièces affichées (les pièces qui partagent les mêmes capteurs n'apparaissent qu'une fois)
outside booléen true false masque les pièces extérieures
average booléen false Première ligne : moyenne intérieure et sa tendance
stable_t nombre (°C) 0.3 Flèche horizontale en dessous de cette variation
alert_t nombre (°C) 1.5 Alerte à partir de cette variation
stable_h nombre (%) 2 Idem pour l'humidité
alert_h nombre (%) 10 Idem pour l'humidité
t_min, t_max nombre (°C) — Limites absolues de température (alerte en dehors)
h_min, h_max nombre (%) — Limites absolues d'humidité
panels:
  right:
    - type: climate
      title: Climat des pièces
      duration: 30
      rooms: [Chambre, Séjour]
      outside: false
      average: true
      stable_t: 0.3
      alert_t: 1.5
      stable_h: 2
      alert_h: 10
      t_min: 16
      t_max: 28
      h_min: 30
      h_max: 70

Puces de résumé

Les puces au-dessus du plan. Sans summary, quatre sont affichées : ouvertures ouvertes, lumières allumées, volets baissés, température intérieure. Une liste permet de les choisir, de les ordonner et d'en ajouter.

Clé Type Valeurs Défaut Description
type énum openings lights shutters temperature entity obligatoire Type de puce, voir ci-dessous
icon icône selon le type Remplace l'icône
show énum away home toujours away : seulement quand personne n'est à la maison ; home : seulement quand quelqu'un est à la maison
presence entité presence de la racine (zone.home) Présence utilisée par show
new_line booléen false Cette puce commence une nouvelle ligne
below booléen false Cette puce s'empile sous la précédente
type Affiche Clés propres
openings Fenêtres / portes ouvertes (rouge s'il y en a ; une baie compte une fois) —
lights Lumières du plan allumées —
shutters Volets du plan en dessous de 50 % —
temperature Température moyenne des pièces intérieures —
entity <valeur> <nom> de n'importe quelle entité entity, name, unit, decimals, alert_above, alert_state, hide_if

Clés de la puce entity :

Clé Type Valeurs Défaut Description
entity entité — Entité affichée (toucher = plus d'infos)
name texte nom de l'entité Texte après la valeur ; "" = la valeur seule
unit texte unité de l'entité Unité
decimals nombre 1 (0 à partir de 100) Décimales
alert_above nombre — Puce rouge au-dessus de cette valeur
alert_state texte — Puce rouge quand l'état vaut ceci
hide_if texte — Masquer la puce pour cet état (elle est aussi masquée tant que l'entité est absente)
summary:
  - type: openings
  - type: lights
    show: home
  - type: shutters
    new_line: true
  - type: temperature
    icon: mdi:thermometer
    below: true
  - type: entity
    entity: sensor.ev_battery
    name: batterie
    unit: "%"
    decimals: 0
    alert_above: 90
    alert_state: "unavailable"
    hide_if: "unknown"
    show: away
    presence: person.sam

Éditeur : cliquer sur une puce au-dessus du plan pour la modifier ; le bouton Puce avec un + (Ajouter une puce au résumé) en ajoute une ; faire glisser une puce à côté, en dessous ou sous les autres. Aussi dans ⚙ Paramètres › Fonctions › Puces du résumé. Masquées par défaut en mode tablette.

Calques

Chaque élément appartient à un calque fixe selon son genre. Deux groupes de calques, chacun avec son propre ordre ; le groupe superposé est toujours au-dessus du dessin.

Clé Type Valeurs Défaut Description
layers.drawing_order liste rooms sub_areas halos furniture fences walls openings cet ordre Calques du dessin, du bas vers le haut ; ceux qui manquent suivent dans l'ordre par défaut
layers.overlay_order liste room_labels area_labels badges texts cet ordre Calques au-dessus du dessin, du bas vers le haut
layers.hidden liste n'importe quel calque [] Masqués en vue (dessinés à 25 % et non cliquables dans l'éditeur)
layers.locked liste n'importe quel calque [] Non sélectionnables dans l'éditeur (les clics passent à travers) ; sans effet en vue
layers.view_button booléen false Bouton Calques à côté des boutons de zoom : chaque visiteur masque des calques pour lui-même (mémorisé dans le navigateur)
hidden (sur un élément) booléen false Cet élément est masqué en vue
level (sur un élément) nombre 0 Ordre dans son calque, plus grand = au-dessus (rug, area : -1)

area_labels contient les étiquettes des espaces nommés et des sous-zones ; badges les pastilles d'appareils ; room_labels les étiquettes des pièces.

layers:
  drawing_order: [rooms, sub_areas, furniture, halos, fences, walls, openings]
  overlay_order: [room_labels, area_labels, badges, texts]
  hidden: [fences]
  locked: [walls, rooms]
  view_button: true

Éditeur : barre d'outils Calques (glisser ou ↑ / ↓ pour réordonner, œil, cadenas, Réinitialiser l'ordre, Éléments du plan) ; par élément : Masquer en vue, Premier plan / Arrière-plan ; view_button aussi dans ⚙ Paramètres › Affichage.

Groupes

Les groupes lient des éléments pour qu'ils se sélectionnent et se déplacent ensemble dans l'éditeur.

Clé Type Valeurs Défaut Description
groups[].id texte — Identifiant du groupe, utilisé par group
groups[].name texte — Nom du groupe dans l'éditeur
group (sur un élément) texte un id de groupe — Appartenance d'une pièce, d'une ouverture, d'une pastille, d'un texte ou d'un meuble
5e valeur d'un mur / d'une limite texte un id de groupe — Appartenance d'un mur ou d'une limite
groups:
  - {id: garden, name: Jardin}
badges:
  - {entity: light.garden, pos: [600, 500], group: garden}
fences:
  - [550, 450, 900, 450, garden]

Éditeur : sélectionner plusieurs éléments › Grouper (Ctrl+G) / Dégrouper (Ctrl+Maj+G). Le premier clic sur un membre sélectionne le groupe, un second clic l'élément seul.

Modèles

Éléments réutilisables enregistrés par l'éditeur et proposés à nouveau dans Ajouter › Mes modèles.

Clé Type Valeurs Défaut Description
name texte — Nom du modèle
id texte — Identifiant court écrit par les ateliers (Créer un widget, Créer une ouverture, Créer un meuble)
kind énum badge opening furniture widget — Nature de item
icon icône — Icône dans le catalogue
description texte — Sous-titre dans le catalogue
type énum types de meubles, custom — Modèles furniture : le type de meuble
category énum living dining kitchen bedroom bathroom utility shapes outdoor — Meuble personnalisé : catégorie du catalogue où il est rangé (sinon Mes modèles)
keywords texte — Meuble personnalisé : mots de recherche en plus
domain texte un domaine d'entité — Modèles badge : domaine proposé au moment de choisir l'entité ; meuble avec ask: [entity] : domaine cherché
item objet — L'élément : une pastille, une ouverture, un meuble ou un widget, avec les clés de cet élément (sans position)
items liste widgets — Une fiche entière enregistrée comme modèle : tous ses widgets
ask liste chemins de clés du widget ; contact shutter entity (ouvertures) ; entity (meubles) — Champs entité à choisir à chaque usage : laissés vides et surlignés « à compléter » pour un widget (entity, rows, columns.0.stat…) ; cherchés dans la pièce où l'on pose une ouverture ou un meuble

Sans « Garder les entités », les clés d'entité sont omises et redemandées à chaque utilisation ; value: $entite représente l'entité choisie.

templates:
  - name: Plafonnier
    kind: badge
    icon: mdi:lightbulb
    domain: light
    item: {icon: mdi:lightbulb, color: "#f6c445", halo: 130}
  - name: Mon réfrigérateur
    kind: furniture
    type: fridge
    description: 70 × 72 cm
    item: {type: fridge, size: [70, 72], tap: more_info}
  - name: Baie vitrée
    kind: opening
    icon: mdi:window-closed-variant
    item: {type: window, shutter_only: false}
  - name: Porte du jardin
    id: p7c2m9de
    kind: opening
    icon: mdi:door
    ask: [contact, shutter]
    item: {type: door, leaves: 2, swing: left}
  - name: Banc d'angle
    id: b4n8q1zt
    kind: furniture
    type: custom
    category: living
    keywords: banc assise
    description: 180 × 120 cm
    item: {type: custom, size: [180, 120], color: "#188038", shape: [{kind: rect, x: 0, y: 0, w: 100, h: 100}]}
  - name: Fiche voiture
    kind: widget
    icon: mdi:card-text-outline
    description: Fiche · 2 widgets
    items:
      - {type: ev, title: Voiture, battery: sensor.ev_battery}
      - {type: divider}
  - name: CO₂ de la pièce
    id: k3f9x2qa
    kind: widget
    icon: mdi:molecule-co2
    description: Jauge
    ask: [entity]
    item: {type: gauge, title: CO₂ de la pièce, min: 400, max: 2000, unit: ppm, severity: {green: 0, yellow: 800, red: 1200}}

Éditeur : sélectionner un élément › Modèle (Enregistrer comme modèle) ; une fiche › Fiche en modèle ; Ajouter un widget › Créer un widget, Ajouter › Créer une ouverture ou Créer un meuble › Enregistrer dans Mes modèles ; réutiliser depuis Ajouter › Mes modèles.

Ambiance

Calques facultatifs et discrets, dessinés sous les pastilles : teinte de nuit et ensoleillement, météo sur les pièces extérieures, traces des changements récents, flux d'énergie et personnes. Jamais dessinés pendant l'édition (sauf en aperçu, panneau correspondant ouvert) ; rien ne sort de Home Assistant.

Clé Type Valeurs Défaut Description
intensity énum / nombre subtle normal strong, ou 0–1 subtle Force globale (0,45 / 0,7 / 1)
north nombre (°) 0 Direction du nord, dans le sens horaire depuis le haut du plan (45 = en haut à droite)
day_night booléen / objet activé Jour et nuit ; false = désactivé
weather entité / objet — Météo
traces nombre / booléen / objet activé, 10 min Traces ; false = désactivé
energy booléen / objet — Flux d'énergie
people booléen / liste / objet — Personnes

Dès que ambience est présent, day_night et traces sont activés, sauf s'ils valent false.

ambience:
  intensity: normal
  north: 45
  day_night: true
  weather: weather.home
  traces: 10
  energy: true
  people: true

Éditeur : barre d'outils Ambiance et animations › Ambiance du plan, puis Intensité, Nord du plan (°), Jour et nuit, Météo, Traces (durée 0–240 min, pas de 5), Flux d'énergie, Personnes.

Jour et nuit

Teinte de nuit selon la hauteur du soleil (plus marquée dehors), ensoleillement venant du côté du soleil, plus chaud au lever et au coucher, et repère du soleil sur le bord du plan.

Clé Type Valeurs Défaut Description
day_night booléen / objet activé true / {} = défauts, false = désactivé
day_night.sun entité sun.sun Entité du soleil (élévation, azimut)
day_night.intensity nombre 0–2 1 Facteur appliqué à ambience.intensity
day_night.marker booléen true Repère du soleil sur le bord du plan
ambience:
  day_night: {sun: sun.sun, intensity: 1.2, marker: false}

Météo

La météo de Home Assistant peinte sur les pièces extérieures (outside: true) : ombres de nuages, pluie, neige, grêle, vent, brouillard, éclairs.

Clé Type Valeurs Défaut Description
weather entité / objet — Une entité weather.*, ou l'objet ci-dessous
weather.entity entité — Entité météo (obligatoire sous forme d'objet)
weather.intensity nombre 0–2 1 Facteur appliqué à ambience.intensity
weather.direction nombre (°) / énum un angle, ou wind 135 Sens de déplacement, dans le sens horaire depuis le haut (135 = du haut à gauche vers le bas à droite) ; wind = le vent réel
ambience:
  weather: {entity: weather.home, intensity: 0.8, direction: wind}

Traces

Ce qui vient de changer garde un contour qui s'estompe (capteurs numériques exclus ; un redémarrage de HA efface les traces).

Clé Type Valeurs Défaut Description
traces nombre / booléen / objet 10 Durée en minutes ; false ou 0 = désactivé
traces.duration nombre (min) jusqu'à 240 10 Durée de l'estompage
traces.color couleur couleur principale du thème Couleur des traces
ambience:
  traces: {duration: 15, color: "#1a73e8"}

Flux d'énergie

Des perles qui circulent du tableau électrique vers chaque meuble ou pastille dont la valeur est une puissance (W, kW), plus rapides et plus nombreuses à mesure que la puissance augmente.

Clé Type Valeurs Défaut Description
energy booléen / objet — true / {} = défauts
energy.source nombre / énum un indice de meuble, ou un type de meuble electrical_panel Meuble d'où partent les flux
energy.threshold nombre (W) 5 Puissance minimale pour dessiner un flux
energy.color couleur couleur de la cible, sinon couleur du type, sinon #fbc02d Couleur des flux
energy.badges booléen true false : pas de flux vers les pastilles d'appareils (meubles seulement)
ambience:
  energy: {source: electrical_panel, threshold: 20, color: "#fbc02d", badges: false}

Personnes

Les personnes sur le plan : à la maison, côte à côte à un point de rassemblement ; absentes, sur le bord du plan dans leur direction réelle, avec la distance ou la zone (coordonnées de la maison dans HA + north).

Clé Type Valeurs Défaut Description
people booléen / liste / objet — true = toutes les person.* ; une liste = ces personnes ; un objet = les réglages ci-dessous
people.home [x, y] / texte un point ou un name de pièce centre des pièces intérieures Point de rassemblement à la maison (une pièce : la position de son étiquette)
people.entities liste ids person.* ou {entity} toutes les person.* Personnes affichées
people.entities[].entity entité — Une personne
people.away énum direction zone hidden direction Absente : sur le bord, dans sa direction, avec la distance ; zone : une rangée de puces en bas avec le nom de la zone HA ; hidden : non affichée
people.at_home énum grouped hidden grouped À la maison : côte à côte au point home ; ou non affichée
people.avatar énum picture initials picture Photo du profil HA (initiales s'il n'y en a pas, ou si elle n'est pas servie par Home Assistant lui-même), ou toujours les initiales
people.persons objet {person.x: {away, at_home, avatar}} — Réglages par personne de away, at_home, avatar (ils priment sur les réglages communs)
ambience:
  people:
    home: Séjour
    entities: [person.sam, {entity: person.camille}]
    away: direction
    at_home: grouped
    avatar: picture
    persons:
      person.camille: {away: hidden}
      person.sam: {away: zone, avatar: initials, at_home: grouped}

Éditeur : away, at_home, avatar communs dans ⚙ Paramètres › Personnes sur le plan ; par personne et home dans Ambiance et animations › Personnes (faire glisser les avatars sur le plan pour fixer home en [x, y]).

Style des pastilles

L'aspect des pastilles d'appareils sur le plan. Toutes les clés sont facultatives ; les défauts gardent l'aspect d'origine.

Clé Type Valeurs Défaut Description
badge_style.unavailable énum dimmed dashed hidden dimmed Appareil indisponible : estompé, contour pointillé, ou non affiché
badge_style.inactive énum shown active_only dimmed shown Appareil inactif : affiché, affiché seulement quand il est actif, ou estompé
badge_style.size énum small normal large normal 0,8 ×, 1 ×, 1,25 × (même taille à l'écran quel que soit le zoom)
badge_style.values énum always hover never always Valeur dans la pastille : toujours, au survol / au focus (toujours sur écran tactile), jamais

Une pastille masquée compte toujours dans les puces de résumé et apparaît toujours dans la vue de la pièce ; une pastille concernée par une alerte plein plan reste visible ; dans l'éditeur, toutes les pastilles restent visibles.

badge_style:
  unavailable: dashed
  inactive: active_only
  size: small
  values: hover

Éditeur : ⚙ Paramètres › Pastilles d'appareils.

Alertes plein plan

Des règles qui illuminent tout le plan tant qu'elles sont vraies : voile pulsant, bandeau (nom, éléments, détails, masquer jusqu'au prochain changement), éléments entourés d'une onde. Jamais pendant l'édition.

Clé Type Valeurs Défaut Description
name texte « Alerte » (Alert en anglais) Titre du bandeau
entity entité — Une entité surveillée
entities liste d'entités — Plusieurs entités surveillées
type énum openings — Surveiller toutes les ouvertures du plan (contact, sinon entity)
level énum critical warning info critical Rouge (critique), ambre (avertissement), accent sans pulsation (info) ; le niveau actif le plus élevé l'emporte
icon icône selon le niveau Icône du bandeau
above nombre — Active quand la valeur est au-dessus
below nombre — Active quand la valeur est en dessous (en l'absence de above)
state texte — Active quand l'état vaut ceci (en l'absence de above / below)
when_away booléen false Seulement quand personne n'est à la maison
presence entité presence de la racine (zone.home) Présence utilisée par when_away
enabled booléen true false désactive la règle sans la supprimer

Sans above, below ni state, une entité est active quand elle vaut on, open, triggered ou detected.

alerts:
  - name: Fumée détectée
    entities: [binary_sensor.smoke_kitchen, binary_sensor.smoke_hall]
    level: critical
    icon: mdi:smoke-detector
  - name: Ouverture alors que personne n'est là
    type: openings
    when_away: true
    presence: group.family
    level: warning
  - {name: Congélateur trop chaud, entity: sensor.freezer_temperature, above: -12, level: warning}
  - {name: Cave trop froide, entity: sensor.cellar_temperature, below: 5, level: info, enabled: false}
  - {name: Alarme, entity: alarm_control_panel.home, state: triggered}

Éditeur : Ambiance et animations › Alertes plein plan (Alerte sur des entités, Ouverture, maison vide) ; aussi dans ⚙ Paramètres › Fonctions › Alertes plein plan.

Animations

Une animation par événement pour tout le plan (animations) ; une ouverture, une pastille ou un meuble connecté la remplace par sa propre animation (shutter_animation pour un volet).

Clé d'événement S'applique à Défaut
animations.opening Porte / fenêtre ouverte {type: pulse, duration: 1.6}
animations.shutter Volet en mouvement {type: scroll, duration: 0.8}
animations.alert Pastille avec alert: true, quand elle est active {type: pulse, duration: 1.2}
animations.light Pastille light.* allumée {type: none, duration: 2.4}
animations.badge Autre pastille active {type: none, duration: 2}
animations.furniture Meuble connecté actif {type: none, duration: 2.4}

Une animation est un nom de type (animation: halo) ou un objet :

Clé Type Valeurs Défaut Description
type énum none pulse breathe blink halo wave scroll selon l'événement none = couleur seulement
color couleur couleur de l'élément Couleur de l'animation
duration nombre (s) 0,2–20 selon l'événement Secondes par cycle
intensity nombre 0,2–2 1 Force
shape énum outline — Meubles : l'onde suit leur contour
animations:
  opening: {type: pulse, duration: 1.6}
  shutter: {type: scroll, duration: 0.8}
  alert: {type: blink, duration: 1.2, intensity: 1.5}
  light: {type: halo, color: "#ffd54f"}
  badge: wave
  furniture: {type: breathe, duration: 3, shape: outline}
badges:
  - {entity: binary_sensor.motion, pos: [100, 100], animation: {type: wave, color: "#e91e63"}}

Éditeur : Ambiance et animations › Animations par événement (Animations par défaut les réinitialise) ; par élément : son panneau › Animation. Le niveau d'animation peut toutes les réduire ou les arrêter.

Revoir la journée

Un bouton Revoir la journée à côté du zoom : l'historique de chaque entité du plan est chargé une fois, puis tout le plan (couleurs, ouvertures, volets, lumières, ambiance, personnes, alertes, panneaux latéraux) est dessiné à l'instant choisi, avec une frise chronologique (lecture / pause, vitesse, repères). Jamais pendant l'édition.

Clé Type Valeurs Défaut Description
replay booléen / objet — true = défauts
replay.hours nombre (h) 1–72 24 Période revue
replay.speed énum (nombre) 60 300 900 3600 900 Vitesse au départ, en secondes de la journée par seconde (la frise permet toujours de la changer)
replay:
  hours: 48
  speed: 3600

Éditeur : ⚙ Paramètres › Fonctions › Revoir la journée, Période revue, Vitesse au départ.

Exemples sous le plan

Dessine sous le plan un exemple de chaque type d'animation, de chaque météo et des effets d'ambiance (nuit, soleil bas, trace, flux d'énergie, alerte, personne absente).

Clé Type Valeurs Défaut Description
showcase booléen / objet — true = sous le plan
showcase.pos [x, y] sous le plan, à margin Coin supérieur gauche
showcase.width nombre (cm) au moins 700 largeur du plan moins les marges Largeur
showcase:
  pos: [0, 1200]
  width: 1200

Éditeur : ⚙ Paramètres › Fonctions › Exemples sous le plan.

Interaction

La réaction de la carte au toucher. Sans ces clés, elle se comporte comme avant. Jamais appliqué dans l'éditeur.

Clé Type Valeurs Défaut Description
interaction.room_tap énum room_view more_info none room_view Toucher une pièce : vue de la pièce ; plus d'infos de son entité tap (sinon temperature) ; rien. Une pièce avec zoom: false garde son propre comportement
interaction.lock_view booléen false Ni déplacement ni zoom à la molette / au pincement, boutons de zoom masqués ; les touchers fonctionnent toujours
interaction.reset_after nombre (s) 0–86400 (éditeur : pas de 10) 0 Retour au plan entier après ce nombre de secondes sans interaction (vue de la pièce, zoom, fiches fermées, relecture en pause ramenée au direct) ; 0 = jamais
interaction:
  room_tap: more_info
  lock_view: true
  reset_after: 60

Éditeur : ⚙ Paramètres › Interaction (Toucher une pièce, Vue figée, Retour au plan entier après).

Tablette murale

Mode tablette : le plan occupe toute la carte, en pleine page, centré ; puces de résumé et panneaux latéraux masqués ; avec un title vide, pas d'en-tête. Il ne fige pas la vue (voir Interaction).

Clé Type Valeurs Défaut Description
tablet booléen / objet false true = {summary: false, panels: false, burn_in: true} ; un objet règle chaque point
tablet.summary booléen false Afficher les puces de résumé
tablet.panels booléen false Afficher les panneaux latéraux (vue d'ensemble et pièces)
tablet.burn_in booléen true Anti-marquage : la carte se décale d'un pixel toutes les 3 minutes, dans un rayon de 2 px
title: ""
tablet: {summary: false, panels: true, burn_in: true}
interaction:
  lock_view: true
  reset_after: 60

Éditeur : ⚙ Paramètres › Interaction › Tablette murale (Mode tablette, Puces de résumé, Panneaux latéraux, Anti-marquage de l'écran).

Niveau d'animation

Une limite globale aux mouvements. Le réglage système « réduire les animations » est toujours respecté.

Clé Type Valeurs Défaut Description
animation_level énum full reduced none full full : toutes les animations ; reduced : rien ne tourne en boucle (pulsations, ondes, météo, flux), transitions courtes ; none : ni animation ni transition. La relecture et les exemples sous le plan le suivent
animation_level: reduced

Éditeur : ⚙ Paramètres › Interaction › Animations › Niveau d'animation.

Démo

Un appartement de démonstration intégré, aux états simulés ; rien n'est jamais envoyé à la maison.

Clé Type Valeurs Défaut Description
demo booléen false true remplace le plan par la démo ; seuls title et language de la configuration sont conservés
type: custom:maquette-card
demo: true
title: Démo
language: en

Éditeur : aucun (la démo n'a pas d'éditeur). Le sélecteur de cartes propose Maquette — démo (custom:maquette-card-demo) et Ajouter un tableau de bord la stratégie Maquette — démo. La démo active aussi replay et showcase.

Clés Home Assistant conservées

Les clés que Home Assistant ajoute à n'importe quelle carte (disposition, visibilité, card-mod). Maquette les conserve telles quelles, sans les traduire.

Clé Type Valeurs Défaut Description
view_layout quelconque — Options de disposition de la vue (masonry, panneau, dispositions personnalisées)
layout_options quelconque — Ancienne disposition de la vue en sections
grid_options quelconque — Taille dans la vue en sections (columns, rows)
visibility liste — Conditions de visibilité de la carte
card_mod quelconque — Styles card-mod
type: custom:maquette-card
grid_options: {columns: full, rows: auto}
visibility:
  - {condition: screen, media_query: "(min-width: 768px)"}
card_mod:
  style: "ha-card {border-radius: 24px}"

Éditeur : l'éditeur de tableau de bord de HA (onglets Disposition et Visibilité) ; l'éditeur de Maquette les conserve à l'enregistrement. Un plan importé n'apporte jamais ces clés : la carte garde les siennes.

Sécurité

Maquette tourne dans l'interface de Home Assistant avec les droits de l'utilisateur connecté. N'importez des plans et des modèles que de personnes de confiance ; la carte vous protège tout de même ainsi.

Les services sensibles sont toujours confirmés. Chaque service appelé depuis le plan (boutons des pièces, widgets des panneaux et des fiches, interrupteurs, Activer) est comparé à une liste de services sûrs. Tout autre service ouvre un court dialogue qui nomme l'action réelle, le service (lock.unlock) et les entités visées, quel que soit le libellé du bouton ; les clés de data sont montrées, jamais leurs valeurs (un code reste caché). Annuler a le focus ; Échap annule.

Sûrs (sans dialogue) Sensibles (toujours confirmés)
turn_on, turn_off, toggle de light, switch, fan, input_boolean, humidifier, media_player, climate, remote, automation ; marche / arrêt d'un chauffe-eau ; réglages des ventilateurs, humidificateurs, climatiseurs, chauffe-eau et lecteurs (vitesse, mode, température, volume, lecture / pause…) lock.unlock, lock.open
scene.turn_on ; valeurs d'input_number, number, input_select, select alarm_control_panel.alarm_disarm, alarm_trigger
cover.close_cover, stop_cover (et inclinaison) ; valve.close_valve, stop_valve ouvrir une cover (open_cover, set_cover_position, toggle, inclinaison) sauf si toutes les cibles sont des volets, stores, rideaux, auvents ou fenêtres (device_class) ; portes de garage, portails, portes et covers sans classe sont confirmés
lock.lock ; alarm_control_panel.alarm_arm_* valve.open_valve, set_valve_position, toggle
homeassistant.turn_on / turn_off / toggle quand toutes les cibles sont dans un domaine sûr ci-dessus ; homeassistant.update_entity script.*, button.press, input_button.press, automation.trigger, homeassistant.restart / stop, shell_command, rest_command, notify… et tout service absent de la liste des sûrs

confirm: true impose la confirmation, même pour un service sûr, sur tout ce qui en appelle un : boutons des pièces (actions[].confirm), pastilles, ouvertures et meubles connectés (leur interrupteur allumer / éteindre, dans leur fiche et dans la vue de la pièce) et widgets (interrupteurs et Activer de leurs lignes, −/+ du thermostat, boutons de cover et de serrure). Cas typique : une porte de garage, un portail ou un chauffage commandé par un switch. confirm: false ne retire jamais la confirmation d'un service sensible. protected: true (pastilles, ouvertures, meubles) empêche d'éteindre l'appareil depuis le plan.

Vérification à l'import. Exporter / importer › Importer montre d'abord un récapitulatif et n'applique rien avant votre accord : services des boutons des pièces (les sensibles marqués), entités commandées par les widgets (cover, lock, thermostat, lignes Activer), liens Plus d'infos, valeurs retirées car invalides (avec leur chemin, par exemple rooms[0].poly), éléments sans coordonnées valides et clés de tableau de bord du fichier ignorées. Réimporter le plan sans changement l'applique directement. Limites : 2 Mo de texte, 200 000 valeurs, 40 niveaux d'imbrication, 5 000 éléments par liste ; le YAML est lu sans ses types étendus ; les clés __proto__, constructor et prototype sont écartées. Les brouillons et copies gardés dans le navigateur sont relus de la même façon.

Ce qui n'est jamais dessiné comme du code. Les textes, noms et états HA sont échappés ; nombres, valeurs énumérées, couleurs, icônes et liens sont contrôlés (voir Conventions) ; tout le HTML construit par la carte ou l'éditeur passe par un filtre qui retire scripts, gestionnaires d'événements (on…), liens autres que #…, url() autres que url(#…) et images qui ne sont pas servies par Home Assistant. La carte ne fait aucune requête hors de Home Assistant.

Index des clés

Chaque clé publique, par ordre alphabétique, avec les sections qui la documentent.

Clé Section(s)
above Alertes plein plan
action Pièces et sous-zones
actions Pièces et sous-zones
active Pastilles d'appareils, Meubles connectés
active_attribute Pastilles d'appareils, Meubles connectés
alert Pastilles d'appareils, Animations
alert_above Puces de résumé
alert_h Widgets, Widget climate
alert_state Puces de résumé
alert_t Widgets, Widget climate
alerts Racine de la carte, Alertes plein plan
ambience Racine de la carte, Ambiance
animation Animations, Ouvertures, Pastilles d'appareils, Meubles connectés
animation_level Racine de la carte, Niveau d'animation
animations Racine de la carte, Animations
area Pièces et sous-zones
at_home Personnes
attribute Pastilles d'appareils, Textes et zones d'informations, Meubles connectés
ask Modèles
auto_actions Pièces et sous-zones
automations Pièces et sous-zones
avatar Personnes
average Widgets, Widget climate
away Personnes
badge Animations
badge_style Racine de la carte, Style des pastilles
badges Racine de la carte, Pastilles d'appareils, Flux d'énergie
battery Widgets, Widget ev
bay Ouvertures
below Puces de résumé, Alertes plein plan
burn_in Tablette murale
card Fiches, Ouvertures, Pastilles d'appareils, Meubles connectés
card_mod Clés Home Assistant conservées
category Modèles
chairs Meubles
color Widgets, Animations, Pastilles d'appareils, Meubles connectés, Traces, Flux d'énergie
color_today Widgets, Widget tariff
color_tomorrow Widgets, Widget tariff
columns Widgets, Widget periods
confirm Pièces et sous-zones, Ouvertures, Pastilles d'appareils, Meubles connectés, Fiches, Widgets, Widget cover, Widget lock, Widget thermostat, Sécurité
contact Ouvertures
data Pièces et sous-zones
day Widget periods
day_night Jour et nuit, Ambiance
decimals Puces de résumé, Widgets, Widget gauge, Widget tile, Widget periods, Pastilles d'appareils, Textes et zones d'informations, Meubles connectés
demo Racine de la carte, Démo
description Modèles
direction Météo
domain Modèles
drawing_order Calques
duration Widgets, Widget climate, Animations, Traces
editor Réglages généraux
enabled Alertes plein plan
energy Flux d'énergie, Ambiance
entities Widgets, Widget entities, Personnes, Alertes plein plan
entity Puces de résumé, Widgets, Widget gauge, Widget tile, Widget cover, Widget lock, Widget thermostat, Ouvertures, Pastilles d'appareils, Textes et zones d'informations, Meubles connectés, Météo, Personnes, Alertes plein plan
factor Widget periods
fences Racine de la carte, Limites et clôtures
full_page Réglages généraux
furniture Racine de la carte, Meubles, Animations
grid_options Clés Home Assistant conservées
group Pièces et sous-zones, Groupes, Ouvertures, Pastilles d'appareils, Textes et zones d'informations, Meubles
groups Racine de la carte, Groupes
h Meubles personnalisés
h_max Widgets, Widget climate
h_min Widgets, Widget climate
halo Pastilles d'appareils
hidden Pièces et sous-zones, Calques, Ouvertures, Pastilles d'appareils, Textes et zones d'informations, Meubles
hide_if Puces de résumé
history Widgets, Widget tile
home Personnes
hours Revoir la journée
humidity Pièces et sous-zones, Réglages généraux
humidity_attribute Pièces et sous-zones
icon Puces de résumé, Pièces et sous-zones, Widgets, Pastilles d'appareils, Textes et zones d'informations, Modèles, Alertes plein plan
id Racine de la carte, Groupes, Modèles
inactive Style des pastilles
info Textes et zones d'informations
intensity Animations, Ambiance, Jour et nuit, Météo
interaction Racine de la carte, Interaction
item Modèles
items Modèles
keywords Modèles
kind Modèles, Meubles personnalisés
label Pièces et sous-zones
language Réglages généraux
layers Racine de la carte, Calques
layout_options Clés Home Assistant conservées
leaves Ouvertures
left Pièces et sous-zones, Panneaux
legend Réglages généraux
level Pièces et sous-zones, Calques, Ouvertures, Pastilles d'appareils, Textes et zones d'informations, Meubles, Alertes plein plan
light Animations
light_color Pastilles d'appareils
lock_view Interaction
locked Calques
margin Réglages généraux
marker Jour et nuit
max Widgets, Widget gauge, Réglages généraux
min Widgets, Widget gauge, Réglages généraux
mirror Meubles
month Widget periods
more_info Fiches
name Puces de résumé, Pièces et sous-zones, Widgets, Widget periods, Ouvertures, Pastilles d'appareils, Textes et zones d'informations, Meubles, Groupes, Modèles, Alertes plein plan, Réglages généraux
new_line Puces de résumé
north Ambiance
note Widgets, Widget periods
opening Animations
openings Racine de la carte, Ouvertures
outside Pièces et sous-zones, Widgets, Widget climate, Ouvertures
outward Ouvertures
overlay_order Calques
panels Pièces et sous-zones, Panneaux, Racine de la carte, Tablette murale
people Personnes, Ambiance
period Widgets, Widget tariff
periods Widgets, Widget periods
persons Personnes
plugged Widgets, Widget ev
points Meubles personnalisés
poly Pièces et sous-zones
pos Pastilles d'appareils, Textes et zones d'informations, Meubles, Exemples sous le plan
power Widgets, Widget ev
presence Puces de résumé, Alertes plein plan, Réglages généraux
price Widgets, Widget tariff
protected Ouvertures, Fiches, Pastilles d'appareils, Meubles connectés
radius Meubles personnalisés
range Widgets, Widget ev
replay Racine de la carte, Revoir la journée
reset_after Interaction
right Pièces et sous-zones, Panneaux
room Pastilles d'appareils
room_labels Réglages généraux
room_tap Interaction
rooms Racine de la carte, Pièces et sous-zones, Widgets, Widget climate
rotation Meubles
rows Widgets
seg Ouvertures
session_cost Widgets, Widget ev
severity (green, yellow, red) Widgets, Widget gauge
session_kwh Widgets, Widget ev
shape Animations, Meubles
show Puces de résumé
show_furniture Réglages généraux
showcase Racine de la carte, Exemples sous le plan
shutter Ouvertures, Animations
shutter_animation Animations, Ouvertures
shutter_only Ouvertures
size Textes et zones d'informations, Meubles, Style des pastilles
source Widget periods, Flux d'énergie
spacing Widgets, Widget divider
speed Revoir la journée
stable_h Widgets, Widget climate
stable_t Widgets, Widget climate
stat Widget periods
state Alertes plein plan
style Textes et zones d'informations, Meubles personnalisés
sub_area Pièces et sous-zones
summary Racine de la carte, Puces de résumé, Tablette murale
sun Jour et nuit
swing Ouvertures
t_max Widgets, Widget climate
t_min Widgets, Widget climate
tablet Racine de la carte, Tablette murale
tap Pièces et sous-zones, Ouvertures, Fiches, Pastilles d'appareils, Meubles connectés
target Pièces et sous-zones
temperature Pièces et sous-zones, Réglages généraux
temperature_attribute Pièces et sous-zones
temperature_tint Réglages généraux
templates Racine de la carte, Modèles
text Textes et zones d'informations
texts Racine de la carte, Textes et zones d'informations
threshold Widgets, Widget ev, Pastilles d'appareils, Meubles connectés, Flux d'énergie
tint Meubles
title Racine de la carte, Widgets, Widget divider, Fiches
traces Traces, Ambiance
type Racine de la carte, Puces de résumé, Widgets, Ouvertures, Animations, Meubles, Modèles, Alertes plein plan
unavailable Style des pastilles
unit Puces de résumé, Widgets, Widget gauge, Widget tile, Widget periods, Pastilles d'appareils, Textes et zones d'informations, Meubles connectés
value Pastilles d'appareils, Meubles connectés
values Style des pastilles
view_button Calques
view_layout Clés Home Assistant conservées
visibility Clés Home Assistant conservées
w Meubles personnalisés
walls Racine de la carte, Murs
weather Météo, Ambiance
week Widget periods
when_away Alertes plein plan
widgets Fiches
width Exemples sous le plan
x Meubles personnalisés
y Meubles personnalisés
year Widget periods
zoom Pièces et sous-zones

Valeurs énumérées

Chaque valeur énumérée, par clé.

<widget> désigne n'importe quel widget : dans panels.left / panels.right, dans les panels d'une pièce, dans une card ou dans un modèle de widget (templates[].items) ; <person> un id d'entité person.*.

Chemin(s) de clé Valeurs
<widget>.columns[].source stat entities
<widget>.periods[] day week month year
<widget>.type tariff ev gauge tile entities periods divider cover lock thermostat climate
alerts[].level critical warning info
alerts[].type openings
ambience.energy.source
furniture[].type
templates[].type
sofa corner_sofa armchair coffee_table tv_unit shelf rug plant fireplace square_table rect_table round_table chair counter sink hob fridge washing_machine dishwasher single_bed double_bed crib nightstand wardrobe dresser desk shower bathtub washbasin toilet boiler water_heater radiator electrical_panel router ev_charger heat_pump car bike tree pool area rect circle stairs custom
ambience.intensity subtle normal strong
ambience.people.at_home
ambience.people.persons.<person>.at_home
grouped hidden
ambience.people.avatar
ambience.people.persons.<person>.avatar
picture initials
ambience.people.away
ambience.people.persons.<person>.away
direction zone hidden
ambience.weather.direction wind
animation_level full reduced none
animations.alert
animations.alert.type
animations.badge
animations.badge.type
animations.furniture
animations.furniture.type
animations.light
animations.light.type
animations.opening
animations.opening.type
animations.shutter
animations.shutter.type
badges[].animation
badges[].animation.type
furniture[].animation
furniture[].animation.type
openings[].animation
openings[].animation.type
openings[].shutter_animation
openings[].shutter_animation.type
none pulse breathe blink halo wave scroll
animations.alert.shape
animations.badge.shape
animations.furniture.shape
animations.light.shape
animations.opening.shape
animations.shutter.shape
badges[].animation.shape
furniture[].animation.shape
openings[].animation.shape
openings[].shutter_animation.shape
outline
badge_style.inactive shown active_only dimmed
badge_style.size small normal large
badge_style.unavailable dimmed dashed hidden
badge_style.values always hover never
badges[].tap
furniture[].tap
openings[].tap
card more_info none
furniture[].shape[].kind
templates[].item.shape[].kind
rect rounded_rect ellipse line polygon
furniture[].shape[].style
templates[].item.shape[].style
filled outline dashed
interaction.room_tap room_view more_info none
layers.drawing_order[]
layers.hidden[]
layers.locked[]
layers.overlay_order[]
rooms sub_areas halos furniture fences walls openings room_labels area_labels badges texts
openings[].type window door gate
openings[].swing
templates[].item.swing
left right sliding
rooms[].actions[].target room
show_furniture desktop
summary[].show away home
summary[].type openings lights shutters temperature entity
templates[].kind widget furniture badge opening
templates[].category living dining kitchen bedroom bathroom utility shapes outdoor
texts[].style subtle

Les mêmes énumérations valent dans les modèles : templates[].item (clés d'une pastille, d'une ouverture, d'un meuble ou d'un widget) et templates[].items[] (widgets), et dans une card écrite comme une simple liste de widgets.

Non traduites, mais restreintes par la carte :

Clé Valeurs
language auto en fr (texte libre ; toute autre valeur = auto)
show_furniture true false desktop
replay.speed 60 300 900 3600 (nombres)
openings[].outside [-1, 0] [1, 0] [0, -1] [0, 1]

Clone this wiki locally