Une étape de planning agit à une heure. Une routine agit quand une
situation se produit :
Si la température extérieure dépasse 25 °C, que le hall reçoit plus de 20 lx et
que la chambre dépasse 500 lx, alors fermer le volet — de 6 h à 20 h.

On décrit la routine une fois, dans l'écran Contrôles, puis on la place
dans les plannings qui doivent s'en servir.
Recopier une routine dans chaque planning ferait diverger les seuils — et un
seuil qui diverge sans qu'on le sache est pire qu'un seuil faux.
Contrairement aux équipements, les capteurs ne se rattachent pas. Ils ne sont
jamais pilotés — on lit une valeur, on n'ouvre pas un volet — et Home Assistant
leur donne déjà un nom lisible.
La synchronisation les rapatrie automatiquement, quel que soit
HA_SYNC_DOMAINS : sans eux la fonctionnalité serait muette, et la faire dépendre
d'un réglage enregistré avant son existence n'aurait aucun sens.
| Nature | Unité | device_class Home Assistant |
|---|---|---|
| Température | °C | temperature |
| Luminosité | lx | illuminance |
| Humidité | % | humidity |
| Pression | hPa | pressure, atmospheric_pressure |
Le classement s'appuie sur device_class, avec repli sur l'unité quand
l'intégration l'omet (°C, lx, hPa, mbar…).
Les pourcentages ne sont jamais devinés. Un niveau de batterie s'exprime
aussi en %, et le confondre avec une humidité produirait une routine qui se
déclenche sur une pile faible. Sansdevice_class, un capteur en % est écarté.
L'écran Équipements liste les capteurs dans leur propre section, groupés par
nature et par pièce, avec leur dernière mesure — et le nombre d'entités
écartées. Une maison peut exposer 257 entités du domaine sensor dont 19
seulement expriment une mesure comparable ; sans ce chiffre, on croit que
l'application a perdu les autres.
Le sélecteur affiche la dernière mesure connue de chaque capteur, groupée par
pièce. Choisir « 500 lx » sans savoir que la pièce est à 812 lx en plein soleil
et à 0 lx volets fermés, c'est deviner.
Contrôles → Nouvelle routine.
| Champ | Rôle |
|---|---|
| Nom | unique ; c'est ce qu'on retrouvera dans les plannings et dans l'alias de l'automatisation |
| Quand surveiller | une plage horaire (06:00 → 20:00) ou toute la journée |
| Délai de confirmation | durée pendant laquelle la condition doit tenir avant d'agir — 120 s par défaut |
| Description | facultative, mais c'est elle qu'on relit dans six mois |
Puis on ajoute les conditions (capteur, sens, seuil) et les actions
(équipement, action, durée si « fermer partiellement »).

La routine se relit à voix haute :
Si Température extérieure > 25 °C et Luminosité Hall > 20 lx et Luminosité
Chambre 1 > 500 lx, alors fermer « Volet Chambre 1 » — de 06:00 à 20:00.
C'est la forme employée partout dans l'interface : une routine se relit plus
qu'elle ne s'édite, et l'erreur qu'on cherche se voit dans la phrase, pas dans un
tableau de champs.
Sans lui, un nuage qui passe ferait faire la navette au volet. 120 secondes est
un bon défaut pour la luminosité ; 300 conviennent mieux à une température, plus
lente à varier.
Trois familles de déclencheurs, chacune bouchant un trou que les deux autres
laissent :
| Déclencheur | Couvre |
|---|---|
Franchissement de seuil (numeric_state) |
le cas normal : la luminosité monte |
| Ouverture de la fenêtre horaire | le seuil déjà franchi avant l'heure — à 6 h le soleil peut déjà taper, aucun franchissement ne se produira |
| Démarrage de Home Assistant | le redémarrage en pleine journée |
Ce sont des événements, jamais une surveillance périodique : la routine agit
une fois, là où un contrôle toutes les cinq minutes ferait cliqueter les volets.
Sa condition échoue, donc la routine ne s'exécute pas. C'est le bon défaut —
mieux vaut un volet immobile qu'un volet piloté sur une mesure absente — et le
validateur le signale comme une erreur, parce qu'une protection hors service
sans le savoir est pire qu'une protection absente.
Depuis l'éditeur du planning, section Routines de contrôle : choisir la
routine, et sa portée — tous les jours du planning, ou un jour-type
précis. On peut ainsi protéger du soleil en semaine et laisser ouvert le
week-end.
Depuis cette même liste, une routine placée se désactive (elle reste visible,
mais n'est pas générée) ou se retire d'ici — sans jamais toucher à la
bibliothèque : elle reste disponible pour les autres plannings.
| Constat | Niveau |
|---|---|
| Deux routines donnent des ordres opposés au même équipement alors que leurs conditions peuvent être vraies en même temps | avertissement |
| Une routine contredit une étape horaire sur le même équipement | information |
| Une routine sans condition ou sans action | avertissement |
| Une routine s'appuie sur un capteur indisponible | erreur |
La détection des ordres opposés est prudente : « fermer si plus de 25 °C » et
« ouvrir si moins de 25 °C » ne sont pas signalées, puisqu'elles ne peuvent
pas être vraies en même temps. Home Assistant n'arbitre pas : la dernière
déclenchée gagne.
- id: scnstudio_e486e09014a55f878693eb6273e24ded
alias: '[SCN] Vacances août / contrôle / Soleil du matin sur la chambre 1'
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.temperature_exterieure
above: 25
for: '00:02:00'
- platform: numeric_state
entity_id: sensor.luminosite_chambre1
above: 500
for: '00:02:00'
- platform: time
at: '06:00:00'
- platform: homeassistant
event: start
condition:
- condition: template
value_template: '{{ ''2026-09-15'' <= now().strftime(''%Y-%m-%d'') <= ''2026-09-28'' }}'
- condition: time
after: '06:00:00'
before: '20:00:00'
- condition: numeric_state
entity_id: sensor.temperature_exterieure
above: 25
- condition: numeric_state
entity_id: sensor.luminosite_chambre1
above: 500
action:
- service: cover.close_cover
target:
entity_id: cover.volet_chambre1
Les seuils apparaissent deux fois : en déclencheur, pour réagir au
franchissement ; en condition, pour que les deux autres déclencheurs
— ouverture de fenêtre, démarrage de HA — ne fassent rien si la situation n'est
pas réunie.
Documentation Domodrive 1.0.0 — copie conforme du répertoire docs/ du dépôt gitlab.ev1.fr/ev1/domodrive (dépôt privé).