5 automatisations avancées et exemples pratiques

Au‑delà des scénarios simples (allumer une lampe au coucher du soleil, déclencher une alarme), Home Assistant permet de construire des automatisations contextuelles, robustes et adaptées aux personnes, à l’heure et à l’environnement. Ces automatisations apportent du confort, des économies et de la sécurité — si elles sont bien conçues. Ci‑dessous, vous trouverez des idées détaillées, des variantes, des éléments de configuration à adapter et des bonnes pratiques de fiabilité.

Dans cet article étendu, nous ajoutons des exemples concrets, des extraits YAML plus complets, des conseils pour le debugging et une petite FAQ pour accélérer votre mise en œuvre. Le CSS pour la mise en forme de cet article est géré par single.css, qui garantit lisibilité et accessibilité sur mobile et bureau.

Principes de conception

Avant de développer une automatisation, définissez clairement :

  • Le déclencheur (trigger) unique et secondaire.
  • Les conditions (presence, luminosité, horaire, météo).
  • Les actions (commande d’appareil, notification, journalisation).
  • Le plan B manuel (bouton physique, commande vocale locale).

Utilisez des entités claires (ex. : sensor.chambre_temp, binary_sensor.chambre_presence) et nommez vos automatisations de façon descriptive pour faciliter le debug.

1) Confort micro‑climatique par pièce

Objectif : optimiser la température pièce par pièce en combinant température, humidité et présence.

Scénario typique :

  1. Si aucune présence détectée depuis 30 minutes, baisser la consigne de chauffage de 2°C.
  2. Si présence détectée ET géolocalisation montre qu’un résident rentre (ou si un capteur de porte s’ouvre), rétablir la consigne.
  3. Si l’humidité dépasse un seuil (ex. 65%) dans une pièce humide, activer la ventilation locale avant de demander au chauffage d’intervenir.

Exemple simple d’automatisation YAML (illustratif) :

alias: 'Eco chauffage - absence 30min'
trigger:
  - platform: state
    entity_id: binary_sensor.salon_presence
    to: 'off'
    for: '00:30:00'
condition:
  - condition: state
    entity_id: climate.salon_thermostat
    state: 'heat'
action:
  - service: climate.set_temperature
    target:
      entity_id: climate.salon_thermostat
    data:
      temperature: "{{ states('input_number.salon_consigne_default') | float - 2 }}"

Version améliorée (prise en compte d’une fenêtre ouverte et d’un override manuel) :

alias: 'Eco chauffage - absence 30min (filtré)'
trigger:
  - platform: state
    entity_id: binary_sensor.salon_presence
    to: 'off'
    for: '00:30:00'
condition:
  - condition: state
    entity_id: input_boolean.maintenance_mode
    state: 'off'
  - condition: state
    entity_id: binary_sensor.fenetre_salon
    state: 'off'
action:
  - service: climate.set_temperature
    target:
      entity_id: climate.salon_thermostat
    data:
      temperature: "{{ states('input_number.salon_consigne_default') | float - 2 }}"
  - service: notify.mobile_app_owner
    data:
      message: "Mode économie activé : -2°C (salon)"

Variantes pratiques :

  • Différencier consigne selon les occupants (profil enfant/président) via input_select.
  • Prendre en compte la météo : si la journée est ensoleillée, lever la consigne la journée pour profiter du gain solaire.
  • Détecter fenêtres ouvertes (capteurs d’ouverture) pour arrêter le chauffage temporairement.

Conseils de fiabilité :

  • Eviter les oscillations en ajoutant des temporisations (hystérésis).
  • Utiliser la moyenne glissante des températures pour filtrer les valeurs erratiques.
  • Conserver une commande manuelle locale sur le thermostat ou un interrupteur physique pour urgence.

2) Mode sécurité adaptatif

Objectif : adapter le comportement des capteurs et des enregistrements selon le statut « présent / absent » du foyer.

Scénario :

  1. Si le dernier résident quitte la maison (géolocalisation + porte fermée), activer le mode sécurité.
  2. Augmenter la sensibilité des détecteurs (si possible), activer l’enregistrement local des caméras et armer les notifications push/SMS.
  3. Si un mouvement est détecté alors que la maison est armée, déclencher une alerte immédiate et partager les images vers un stockage local ou NAS.

Exemple YAML (sélection d’actions) :

alias: 'Sécurité - armement départ'
trigger:
  - platform: state
    entity_id: person.pierre, person.marie
    to: 'not_home'
condition:
  - condition: template
    value_template: >
      {{ states('person.pierre') == 'not_home' and states('person.marie') == 'not_home' }}
action:
  - service: input_boolean.turn_on
    target: { entity_id: input_boolean.home_armed }
  - service: camera.record
    data:
      entity_id: camera.porte_entree
      filename: '/media/recordings/{{ now().strftime('%Y%m%d_%H%M%S') }}.mp4'
  - service: notify.mobile_app_pierre
    data:
      message: "Maison armée : mode sécurité activé"

Variantes :

  • Mode « Nuit » : armer uniquement certaines zones et réduire la sensibilité des capteurs extérieurs.
  • Mode « Vacances » : routines plus strictes, simulation de présence (lumières programmées).

Points d’attention :

  • Eviter les faux positifs (plantes qui bougent, animaux domestiques) : utilisez des capteurs adaptés ou algorithmes de détection multi‑capteurs.
  • Stockage local des vidéos : vérifier l’espace disque et la rétention.
  • Respecter la vie privée : prévenir les occupants et limiter la diffusion d’images à des comptes vérifiés.

Checklist d’implémentation sécurité

  • Valider l’identité des utilisateurs autorisés au déverrouillage.
  • Configurer la rotation des clés API et limiter les intégrations à celles nécessaires.
  • Activer la journalisation détaillée pendant la phase de test puis basculer en mode production.

3) Préparation du retour

Objectif : automatiser l’ambiance et le confort juste avant l’arrivée d’un résident.

Exemple complet :

  1. Déclencheur : géolocalisation — un résident se trouve à moins de 15 minutes (estimation via navigation ou distance).
  2. Conditions : météo (s’il fait froid dehors, préchauffer), horaire (éviter de déclencher tard la nuit) et présence d’autres résidents (ne pas déranger).
  3. Actions : préchauffer zone, allumer éclairage d’entrée à intensité douce, lancer une playlist, déverrouiller la porte si autorisé.

Extrait d’automatisation (logique) :

alias: 'Préparation retour - 15min'
trigger:
  - platform: zone
    entity_id: person.marie
    zone: zone.home
    event: 'enter'
    for: '00:15:00'
condition:
  - condition: numeric_state
    entity_id: sensor.outdoor_temperature
    below: 10
action:
  - service: climate.set_temperature
    target: { entity_id: climate.entree_thermostat }
    data: { temperature: 20 }
  - service: light.turn_on
    target: { entity_id: light.entree }
    data: { brightness_pct: 30 }
  - service: media_player.play_media
    target: { entity_id: media_player.salon } 
    data: { media_content_id: 'spotify:playlist:xxx', media_content_type: 'music' }

Conseils :

  • Utiliser la détection d’approche basée sur le smartphone ou sur la voiture connectée pour estimer l’heure d’arrivée.
  • Ajouter une confirmation (popup sur smartphone) avant action à impact (déverrouillage).
  • Gérer les conflits si plusieurs résidents arrivent en même temps avec des préférences différentes.

Optimisation économique

Pour estimer les économies, suivez votre consommation avant/après pendant 30 jours. Une réduction de 2°C en moyenne peut représenter 6–12 % d’économies selon l’isolation. Utilisez des capteurs par zone pour quantifier précisément.

4) Économie d’eau et prévention des dégâts

Objectif : détecter les anomalies de consommation et prévenir les dégâts d’eau.

Composants recommandés :

  • Compteurs d’eau connectés / capteurs de débit.
  • Capteurs de fuite (water leak sensors) placés près des chauffe‑eau, machines à laver, siphons.
  • Vannes motorisées pouvant être pilotées par Home Assistant.

Scénarios pratiques :

  1. Détection de pic de consommation : couper l’alimentation de l’appareil concerné (si identifié) et alerter.
  2. Fuite détectée : fermer la vanne principale, envoyer une notification et appeler un numéro d’urgence (ou déclencher un scénario d’alerte).

Exemple d’automatisation pour fuite :

alias: 'Fuite d'eau - action immédiate'
trigger:
  - platform: state
    entity_id: binary_sensor.fuite_chauffe_eau
    to: 'on'
action:
  - service: switch.turn_off
    target: { entity_id: switch.valve_principale }
  - service: notify.mobile_app_owner
    data:
      message: "Fuite détectée - vanne principale fermée. Vérifier immédiatement."
  - service: logbook.log
    data:
      name: "Sécurité"
      message: "Fuite - vanne fermée automatiquement"

Points de prudence :

  • Testez la commande d’activation de la vanne manuellement avant automatisation automatique.
  • Prévoyez un délai court et une confirmation (par capteur) que la vanne s’est effectivement fermée.
  • Alertez plusieurs contacts si l’action automatique échoue.

Procédure de test

  1. Simulez l’événement (ex. : déclencher un capteur de fuite) et vérifiez les logs.
  2. Confirmez que la vanne se ferme et que la notification est envoyée.
  3. Testez les scénarios d’échec (la vanne ne répond pas) et vérifiez la chaîne de secours.

5) Scénarios vocaux et routines locales

Objectif : exécuter des routines sans dépendre du cloud, via des intents locaux, boutons ou assistants privés.

Exemples de routines :

  • Mode cinéma — baisse stores, tamise lumières, règle la scène audio et coupe les notifications.
  • Bonne nuit — verrouille les portes, éteint certains circuits, active le mode sécurité partiel.
  • Home — active éclairage d’entrée, affiche message sur écran, lance routine robot aspirateur si la maison est vide.

Implémentation :

  • Utiliser intent ou conversation de Home Assistant pour définir des phrases locales.
  • Utiliser des boutons physiques (Zigbee, Z‑Wave) comme déclencheurs de scénario pour éviter le cloud.

Extrait YAML pour une scène « Mode cinéma » :

alias: 'Scène - Mode cinéma'
trigger:
  - platform: state
    entity_id: input_boolean.mode_cinema
    to: 'on'
action:
  - service: cover.close_cover
    target: { entity_id: cover.stores_sejour }
  - service: light.turn_on
    target: { entity_id: group.lumieres_sejour }
    data: { brightness_pct: 20, color_temp: 370 }
  - service: media_player.select_source
    target: { entity_id: media_player.home_cinema }
Exécution fiable : avant toute action à risque (fermeture de vanne, coupure d’alimentation), vérifiez l’état via capteurs et demandez une confirmation manuelle si nécessaire. Conservez toujours une option d’annulation rapide.

Debugging & outils

Quelques outils et méthodes pour diagnostiquer et maintenir vos automatisations :

  • Developer Tools > States : vérifier instantanément les valeurs des entités.
  • Logger : ajuster la verbosité pour isoler les erreurs.
  • Template editor : tester vos expressions Jinja avant de les déployer.
  • Snapshots : sauvegardes régulières avant mises à jour critiques.

FAQ rapide

Q : Mon automatisation s’exécute plusieurs fois en boucle, que faire ?

R : Ajoutez des conditions d’état ou des temporisations pour éviter les rebonds. Par exemple, vérifiez que l’action nécessaire est encore pertinente avant d’appeler le service.

Q : Comment éviter les faux positifs la nuit ?

R : Combinez détection de présence avec des capteurs de luminosité et des plages horaires. Définissez des scènes moins sensibles la nuit.

Ressources & blueprints

Nous maintenons une collection de blueprints et d’exemples sur notre dépôt et dans la boutique. Quelques liens utiles :

Tests, supervision et maintenance

Une automatisation bien conçue doit être testée, surveillée et maintenue :

  • Créez un environnement de pré‑production pour tester les mises à jour majeures.
  • Activez les snapshots et vérifiez régulièrement la restauration.
  • Surveillez les états des capteurs et configurez des alertes pour entités critiques.
  • Documentez chaque automatisation (quels triggers, conditions, actions) et gardez un changelog.

Bonnes pratiques

  • Nommer les entités et automatisations clairement (ex. : automation.01_eco_chauffage_salon).
  • Limiter la complexité : préfère plusieurs petites automatisations à une monstre automatisation difficile à déboguer.
  • Utiliser des tests unitaires si vous utilisez des blueprints ou scripts partagés.
  • Gérer les erreurs : ajouter des notifications en cas d’échec d’action et des tentatives de reprise.

Conclusion

Les possibilités offertes par Home Assistant sont vastes : du confort micro‑climatique à la sécurité adaptative, en passant par des routines d’accueil et la prévention des dégâts d’eau. L’essentiel est de concevoir des automatisations fiables, testées et documentées, avec toujours un plan B manuel. Chez Techno‑Solution, nous accompagnons la configuration, le choix des capteurs et la mise en place de scénarios personnalisés pour garantir fiabilité et tranquillité d’esprit.

Voir les exemples & scripts détaillés