Superviser ses onduleurs Eaton avec Home Assistant et NUT
J'utilise Network UPS Tools pour remonter les données de mes onduleurs Eaton dans Home Assistant, en USB et en SNMP, avec alerte SMS en cas de coupure.
À la maison, nous avons 6 onduleurs pour pallier les différentes coupures électriques que nous pouvons subir. Pour le moment, seuls deux d'entre eux sont accessibles depuis mon Home Assistant.
⚠️ Cet article a été publié initialement en 2022 et certains éléments ont évolué depuis. La syntaxe des automatisations a changé (service est devenu action avec la version 2024.8 de Home Assistant), et le module complémentaire Network UPS Tools a été renommé en « app » et déplacé dans un nouveau dépôt. Le principe général reste valable, mais il vous faudra adapter les exemples à votre version.
Eaton Ellipse PRO 650

L'Eaton Ellipse PRO 650 est connecté en USB à ma box domotique, à laquelle il assure une autonomie confortable.
Eaton 5P 1550

L'Eaton 5P 1550 protège l'ensemble du matériel présent dans ma baie informatique. En cas de coupure, il fournit assez d'énergie pendant environ une heure. Pour avoir un contrôle à distance, j'ai ajouté une carte réseau Eaton Network-M2, qui me donne accès aux différentes métriques grâce au protocole SNMP v3.
Supervision depuis Home Assistant
Pour simplifier la récupération des données des deux onduleurs, j'utilise l'excellent module complémentaire Network UPS Tools, disponible sur le dépôt Home Assistant Community Add-ons.
Je vous conseille fortement d'activer le watchdog sur ce module et de jeter un œil à la documentation du logiciel NUT.
Configuration
devices:
- driver: usbhid-ups
name: eaton-ellipse-pro-650
port: auto
config:
- vendorid = 0463
- desc = "Bureau - Eaton Ellipse PRO 650"
- driver: snmp-ups
name: eaton-5P-1550
port: 192.0.2.255
config:
- snmp_version = v3
- secLevel = authNoPriv
- secName = readuser
- authPassword = MonSuperMotDePasse
- desc = "Garage - Eaton 5P 1550"
mode: netserver
shutdown_host: false
users:
- actions: []
instcmds:
- all
password: MonMotDePasseSecret
username: nut
i_like_to_be_pwned: true
La partie desc n'est pas obligatoire, mais si vous avez plusieurs onduleurs comme moi, elle vous simplifiera grandement la vie au moment de les retrouver dans Home Assistant. J'ai désactivé HaveIBeenPwned car mon serveur NUT n'est accessible que depuis Home Assistant.
Documentation du site Network UPS Tools :
Intégration à Home Assistant
Comme d'habitude, l'ajout à Home Assistant se fait simplement en passant par l'intégration prévue : Network UPS Tools (NUT).

- Host : a0d7b954-nut
- Port : 3493
- Username : nut
- Password : MonMotDePasseSecret

Il ne vous reste plus qu'à choisir l'onduleur, puis à répéter l'opération pour chacun des vôtres !
Changement de statut de l'onduleur
Maintenant que les données remontent dans Home Assistant, un point important reste à traiter : être informé des changements de statut. Voici l'automatisation que j'utilise pour recevoir le message à la fois sur Telegram et par SMS (n'oubliez pas de l'adapter aux notifications configurées sur votre propre Home Assistant) :
automation:
- description: UPS state changed
alias: ups_state_changed
id: c96873c5-c8e3-4e25-bb90-0496f54e71bc
mode: queued
max: 40
trigger:
- platform: event
event_type: nut.ups_event
action:
- continue_on_error: true
service: notify.maison_telegram
data:
message: "⚡ {{ trigger.event.data.notify_type }} - {{ trigger.event.data.notify_msg }}"
- service: esphome.sim800l_send_sms
data:
recipient: !secret phone_number_xxx
message: "{{ trigger.event.data.notify_type }} - {{ trigger.event.data.notify_msg }}"
Tous les types de notification sont disponibles dans la documentation si vous souhaitez affiner les alertes.

Conclusion
Il est assez simple de récupérer les données d'un ou plusieurs onduleurs depuis Home Assistant et de se créer des alertes en cas de changement. Je vous invite également à lire l'article de Lionel sur son blog : il détaille l'intégration d'onduleurs de la marque APC ainsi que plusieurs méthodes pour dialoguer avec ces derniers - Home Assistant & UPS.