Remédiation avec home assistant

Introduction

Dans cet article, nous allons explorer un exemple d’auto-remédiation réalisable avec Home Assistant. Les trois piliers traditionnels de l’analyse, de la surveillance et de l’auto-remédiation jouent un rôle crucial dans la gestion efficace des systèmes et des réseaux. Bien qu’il existe déjà de nombreux articles traitant de ces sujets, notre objectif ici sera de nous concentrer sur une application concrète de l’auto-remédiation dans le contexte de la domotique avec Home Assistant. Cela vous permettra de mieux comprendre comment tirer parti de cette plateforme pour automatiser les tâches et résoudre les problèmes de manière proactive, en tenant compte des trois piliers mentionnés.

Besoin

J’utilise de nombreux Raspberry Pi dans mes projets, et pour diverses raisons, il m’arrive parfois de devoir débrancher et rebrancher l’alimentation électrique de l’un d’entre eux pour le redémarrer, car il n’est plus accessible en SSH. Dans ce contexte, il serait utile d’avoir une solution pour surveiller l’état du Raspberry Pi et effectuer une auto-remédiation si nécessaire.

Installation

Pour mettre en place une surveillance de l’état de notre Raspberry Pi à l’aide de Home Assistant, nous pouvons utiliser le protocole ICMP (Internet Control Message Protocol) pour envoyer des requêtes ping et vérifier si le Raspberry Pi est toujours “UP” et fonctionnel.

vi configuration.yaml

Ensuite, ajoutez l’adresse IP du Raspberry Pi à surveiller ainsi que les paramètres correspondants :

binary_sensor:
  - platform: ping
    host: 192.168.0.1
    name: "plex_serveur"
    count: 2
    scan_interval: 30

Cette configuration permettra à Home Assistant d’envoyer des requêtes ping à l’adresse IP spécifiée toutes les 30 secondes et de vérifier si le Raspberry Pi est toujours en ligne.

Source : https://www.home-assistant.io/integrations/ping/

automation.yaml

Dans le cas où le Raspberry Pi ne répond pas au ping, il serait intéressant de mettre en place une action d’auto-remédiation, comme le redémarrage automatique du Raspberry Pi ou l’envoi d’une notification pour signaler le problème. Cette étape peut être réalisée en utilisant des automatisations dans Home Assistant, en fonction des besoins spécifiques de votre projet.

Pour créer notre automatisation, nous devons modifier le fichier automation.yaml :

vi automation.yaml

Puis on y rentre ce code

- id: 'icmp_plex_ko'
  alias: icmp_plex_ko
  description: ''
  trigger:
    - platform: state
      entity_id:
        - binary_sensor.plex_serveur
      from: "on"
      to: "off"
      for:
        hours: 0
        minutes: 2
        seconds: 0
  action:
    - type: turn_off
      device_id: ID_plug
      entity_id: switch.Nom_PLUG
      domain: switch
    - delay: 00:00:05
    - type: turn_on
      device_id: ID_plug
      entity_id: switch.Nom_PLUG
      domain: switch
    - service: notify.telegram_groupe
      data_template:
        title: ❌ Home assistant 📺
        message: PLEX est KO tentative de remediation en cours

Ce code déclenche une automatisation lorsqu’il détecte que le Raspberry Pi (dans cet exemple, le serveur Plex) ne répond plus au ping pendant au moins 2 minutes. L’automatisation effectue les actions suivantes : Éteindre l’appareil (dans ce cas, le Raspberry Pi) en coupant l’alimentation électrique via une prise connectée (switch.Nom_PLUG). Attendre 5 secondes. Rallumer l’appareil en rétablissant l’alimentation électrique via la prise connectée. Envoyer une notification via Telegram pour informer qu’une tentative de remédiation est en cours pour le serveur Plex.

Ainsi, cette automatisation permet d’effectuer une auto-remédiation en redémarrant automatiquement le Raspberry Pi et en informant l’utilisateur de l’état du serveur Plex.

Conclusion

Dans cet article, nous avons exploré un exemple d’auto-remédiation à l’aide de Home Assistant pour surveiller et redémarrer automatiquement un Raspberry Pi en cas de perte de connectivité. Grâce à l’intégration ICMP ping et à la création d’une automatisation personnalisée, nous avons pu mettre en place une solution proactive pour résoudre les problèmes de connectivité du Raspberry Pi.

Cette approche peut être adaptée à d’autres scénarios et projets, en tenant compte des trois piliers de l’analyse, de la surveillance et de l’auto-remédiation. Home Assistant offre une plateforme polyvalente et puissante pour automatiser et gérer divers aspects de la domotique, y compris la résolution proactive des problèmes.

En tirant parti de ces fonctionnalités et en adaptant les automatisations à vos besoins spécifiques, vous pouvez créer un environnement intelligent et réactif qui facilite la gestion de vos projets et la résolution des problèmes courants.

Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome