Le père noël a été sympa cette année. Un bel Onduleur à onde sinusoïdale, de 1000 VA (700W) de la marque GreenCell et pesant 8 kg, est venu écraser les minables chaussettes de noël sous le sapin. Santa Claus a dû recevoir le mémo concernant le lancement de poêles à granulés sans électricité ! Qu’est-ce qu’ils sont bien informés au pôle nord !
Comble du hasard, les onduleurs peuvent aussi servir à alimenter des serveurs, par temps hivernal, doux et sans « délestages » du réseau électrique, et donc, sans coupures de courant pour les poêles à granulés.
Cependant, un manuel d’installation de l’onduleur sur hyperviseur Proxmox n’étant pas présent sous le sapin, nous allons devoir remonter les manches. Sacrés lutins ! Il faut comprendre que le fabricant GC (GreenCell) ne fourni pas de pilotes sous Linux. Heureusement, le projet NUT (Network UPS Tools) rend possible cette excursion informatique.
Procédons, pour le pas changer une recette qui marche, par étapes :
Étape 1 : Branchement et installation NUT
Après avoir branché le câble USB de l’onduleur à la machine Proxmox, nous ouvrons le terminal pour l’installation de NUT. Une commande suffit :
apt install nut
Pour voir si Proxmox a bien détecté l’onduleur sur son port USB, on lance un :
lsusb
Tout est bien détecté. L’onduleur apparait comme « Fry Electronics ». On peut procéder à la configuration de Nut.
Étape 2 : Configuration pilote Nut
Quelques lignes suffisent sous /etc/nut/ups.conf :
sudo nano /etc/nut/ups.conf
Nous allons créer une nouvelle entité pour notre UPS, appelée « PROXONE_UPS » ou autre, à votre guise. Les paramètres par défaut sont :
- Pilote : blazer_usb
- port : auto
- desc : une description non rébarbative,
- default.battery.voltage.low = une valeur minimale pour déclencher les alertes qu’on pourra réajuster afin de calibrer la batterie,
- default.battery.voltage.high = une valeur maximale à re-calibrer plus tard,
Ceci étant fait, nous démarrons le pilote de l’onduleur. L’absence de message d’erreur est un bon signe.
sudo upsdrvctl start
Etape 3 : Configuration du serveur Nut
Afin d’exposer les paramètres du pilote Nut à Home Assistant, nous allons configurer et lancer le serveur en lui donnant d’abord une adresse IP. Cela se passe dans le fichier de config du daemon nut ici : /etc/nut/upsd.conf
sudo nano /etc/nut/upsd.conf
On y rajoute l’adresse IP du serveur Nut. Dans mon cas, c’est mon serveur Proxmox. Cette étape est importante afin d’accepter les connexions de Home Assistant.
Ensuite, nous allons paramétrer le type de serveur qui est mis en place. 4 choix sont possibles, dont « none » (pas de configuration nut), « standalone » (installation locale avec 1 onduleur local), « netserver » (pour un accès à distance), et « netclient » (accès à distance en lecture uniquement). Dans notre cas, nous rajoutons cela, et on sauvegarde et on referme :
MODE = netserver
Étape 4 : Démarrage du serveur Nut
On démarre le service précédemment configuré ainsi :
sudo service nut-server start
Pour tester que le serveur est bien en train de publier les paramètres qui nous intéressent, on exécute :
upsc nom_de_votre_serveur_ups@localhost
Nous pouvons à présent rajouter un utilisateur dédié à Home Assistant, en éditant le fichier : /etc/nut/upsd.users
sudo nano /etc/nut/upsd.users
Le nom utilisateur est [utilisateur] et le mot de passe est défini en clair sous « password = mot de passe »
On pourra sauvegarder et fermer ce fichier, et recharger le daemon upsd afin de prendre en compte le nouvel utilisateur :
sudo upsd -c reload
Étape 5 : Intégration dans Home Assistant
En allant dans « Settings » et « Devices & Services », l’appareil « Nut » devrait déjà être détecté et notifié. Sinon, on peut le rajouter manuellement dans « Intégration », en recherchant NUT et en y paramétrant l’identifiant et le mot de passe configuré précédemment :
En cliquant sur « 1 device » nous pouvons voir toutes les entités exposées :
Etape 6 : Rajout au Dashboard
Nous pouvons facilement rajouter ces entités au dashboard en : Rajouter une carte > Entités, et en filtrant le nom de l’onduleur, qui dans mon cas est « Proxone_ups ». Ensuite in suffira de tout sélectionner et de continuer pour avoir une présentation par défaut.
Présentation qu’on pourra adapter à sa guise :
Conclusion
Nous avons donc configuré et paramétré un onduleur qui n’avait pas de pilotes Linux sur Proxmox (Debian) et rajouté les entités exposées par le pilote Nut dans Home Assistant. Merci Santa Claus et Bonne Année 2023 !