[tuto] installation d'un onduleur UPS et monitoring

Bonjour,
C’est un peu bête, mais je pense qu’en ayant lu ce tutoriel, je me serais évité beaucoup de galères, et que j’aurais vécu beaucoup plus sereinement.
C’est fou, c’est même NUTs (on va voir pourquoi), mais quand on installe de la domotique, on touche souvent a du courant a 220V, capable de vous envoyer au 7eme ciel en moins de temps qu’il n’en faut pour le dire… et bien sur, on hésite a couper le courant parce que ben … ca coupe la box, l’ordi et bien sur home assistant…
Et du coup on est tenté de faire ca en live au risque très réel de passer en death en cas de transpiration, main baladeuse ou fil rigide qui fait ressort.
Alors j’ai décidé, à mes risques et périls, de m’acheter une chose qui parait bien puérile : non pas une paire de jumelles, mais un onduleur, chargé de maintenir en vie le materiel pour preserver la mienne.
bien sur le disclaimer d’usage : je vais brancher des trucs sur des machins et vous expliquer comment faire pour faire pareil. en le faisant vous reconnaissez savoir ce que vous faites, etre majeur et aimer la glace au chocolat. autrement dit

FAITES PAS LES CONS, ON PARLE DE TRUCS ELECTRIQUES AVEC DE L’ELECTRICTE DEDANS

Youtube Loop GIF

Les enfant sont couchés? aller on commence.

1 : un peu de théorie

le but de ce tuto est d’installer un onduleur (APC BE850G2-FR), qui va emettre des données via un cable USB (RJ45vers USB, fourni) vers le mii ordinateur sur lequel je fais tourner home assistant (green box) sur lequel nous allons installer un serveur NUT, et auquel une intégration HA dédiée va permettre un affichage de l’état de la batterie dans un tableau de bord et un automatisation qui arrette proprement les choses qui y sont branchées : (routeur, box internet, et surtout ma green Box.


on a donc un client (onduleur qui alimente en data un port usb, le serveur lit les données du port usb, les traduit grace a un driver, puis les expose a une intégration qui crée une entité, avec des variables appellable dans un dashboard.
fin de la théorie.
je dis souvent qu’un con qui bouge en fait plus qu’un sage assis, donc passons a la pratique…

2 : la pratique
a ) branchements
on branche la batterie dans l’onduleur en respectant le mode d’emploi (ca va vous suivez?). puis on branche l’onduleur, puis on branche tout notre beau monde (box, green box et switch) dessus…
on attend que tout refonctionne de nouveau (ben oui beta, y plus d’internet plus de réseau et plus de HA… forcement…
et on passe au branchement du cable data. bon je vais pas vous faire une image, hein un trou, une prise male, frotti frotta et voici un cable connecté a la prise data de l’onduleur (attention il y a 2 autres prises réseau sur ce modele, c’est pas les bon trous… (graveleux s’abstenir) et hop comme un cable ca a deux bouts, on fait la meme chose sur le seul port usb libre qu’il reste sur ma pauvre green box, forcée par une clef zigbee et maintenant un onduleur.

Twitch Nerd GIF

b) le serveur
on suit le fil! Pas de retardataires… allez hop : c’est parti…
d’abord on se renseigne pour connaitre le nom du driver qui fonctionne avec son onduleur: oui ca s’appelle une liste de compatibilité, monseigneur, et hop on clique pour vérifier et si possible avant d’acheter :slight_smile:
en haut on filtre

et on note le nom du driver: pour moi « usbhid-ups », quels poètes ces développeurs…

on installe l’addon NUT ci dessous un modop outrageeusement traduit de l’anglais original :

Cliquez sur ce lien pour ouvrir l’add-on sur votre instance Home Assistant.
image

Ouvrez cet add-on dans votre instance Home Assistant.

Cliquez sur le bouton « Installer » pour installer l’add-on.

Configurez les options des utilisateurs et des appareils.
ajoutez un nom d’utilisateur, un mot de passe
attention les mots de passe copiés sonf faux et sont checkes par l’api i have been pawned au moment du controle de lancement… (faut etre parano avec l’électricité on vous dit… vous avez jamais vu jack ryan ou mission impossible, ou quoi?)
et le nom du driver que vous avez trouvé pour votre matériel… en mode yaml ca doit ressembler a ça :

Démarrez l’add-on « Network UPS Tools ».

image

Vérifiez les journaux de l’add-on « Network UPS Tools » pour voir si tout s’est bien passé.


tada… c’est beau un serveur qui tourne…

il restera apres a configurer l’intégration…
mais pour l’instant je fais une pause j’ai un souci… le seveur m’indique qu’il est lancé, mais… netstat -ta | grep 3493 ne donne rien du tout… apparemment il n’y a rien sur le port… allez on va creuser…
bon ben faut pas creuser bien loin… le port 3493 n’est pas celui utilisé par défaut dans l’integration… ou peut etre qu’il est occupé…
j’ai donc changé le port dans la configuration, et utilisé le meme port et bingo… bon normalement vous n’aurez pas ce souci, mais si votre serveur dit qu’il ne se connecte pas, regardez au niveau des ports… je laisse ce paragraphe pour aider si vous avez un souci mais normalement il n’y a rien a faire (la commande netstat -ta dans le terminal vous aidera a savoir si votre port fonctionne et qu’il a bien tous ses bateaux et ses rêves, et ses frites, est son bal (et ses p… aussi comme dirait Jacques

c) l’intégration
la rien de plus simple,
appareil et intégration
puis
nouvelle intégration
puis
recherchez nut
tapez sur la noix (pas les miennes hein la votre)
et entrez le user, son mot de passe, et le port SI vous l’avez changé (sinon touchez a rien, c’est fragile didjiuuu!)
et TADAAAA
image
et la tout est pret pour faire un beau dashboard, des automatisations (taper le gars qui releve le courant qunad il passe la porte avec autant de coup de batte que de micro coupures par exemple) etc etc…

voila normalement a partir de la vous êtes grands, vous savez quoi faire. : votre système est robuste, et fiable, et vous pourrez couper le courant sans crainte la prochaine fois que vous installez un interrupteur zigbee pour éviter de vous électrocuter… on dit merci qui?

9 « J'aime »

n’hésitez pas a me dire si il y a des manques ou a donner votre driver et la reference précise de votre appareil pour aider les autres a configurer (la liste de compatibilité est bonne mais il y a du nouveau matos tous les jours…)

ha et si vous vous demandez la ref exacte de mon onduleur : https://www.amazon.fr/dp/B082TDYMGQ?p (et OUI un pi 3b ou un pi 4 peuvent fonctionner sur la prise USB. (j’ai pas de pi5, donc pas testé…)

Merci pour ce partage qui va en aider plus d’un.
ce n’est en effet pas si simple parfois.

1 « J'aime »

Bonjour,
J’ai suivi le tuto mais je pense que j’ai un problème de driver.

Ma config.
Je suis sous proxmox, j’ai bien mon onduleur dans ma vm HA.

Voici ce que j’obtiens dans le journal

 Add-on: Network UPS Tools
 Manage battery backup (UPS) devices
-----------------------------------------------------------
 Add-on version: 0.13.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (amd64 / qemux86-64)
 Home Assistant Core: 2024.9.1
 Home Assistant Supervisor: 2024.08.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-timezone: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
[16:11:02] INFO: Configuring timezone (Europe/Paris)...
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service base-addon-timezone successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nut.sh
[16:11:02] INFO: Setting mode to netserver...
[16:11:02] INFO: Generating /etc/nut/upsd.users...
[16:11:02] INFO: Configuring user: kristobal
[16:11:03] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[16:11:03] INFO: Configuring Device named myups...
[16:11:03] INFO: Starting the UPS drivers...
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
Using subdriver: APC HID 0.98
Network UPS Tools - UPS driver controller 2.8.0
cont-init: info: /etc/cont-init.d/nut.sh exited 0
cont-init: info: running /etc/cont-init.d/nutclient.sh
cont-init: info: /etc/cont-init.d/nutclient.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun upsd (no readiness notification)
services-up: info: copying legacy longrun upsmon (no readiness notification)
s6-rc: info: service legacy-services successfully started
[16:11:04] INFO: Starting the UPS information server...
   0.000000	fopen /run/nut/upsd.pid: No such file or directory
   0.000123	Could not find PID file '/run/nut/upsd.pid' to see if previous upsd instance is already running!

   0.000562	[D1] debug level is '1'
   0.000709	listening on 0.0.0.0 port 3493
   0.001119	Connected to UPS [myups]: usbhid-ups-myups
   0.001801	Running as foreground process, not saving a PID file
[16:11:04] INFO: Starting the UPS monitor and shutdown controller...
   0.000000	fopen /run/nut/upsmon.pid: No such file or directory
   0.000037	Could not find PID file to see if previous upsmon instance is already running!

   0.000220	Using power down flag file /etc/killpower
   0.000334	UPS: myups@localhost (primary) (power value 1)
   0.000371	[D1] debug level is '1'
   0.000599	[D1] debug level is '1'
   0.000631	Warning: running as one big root process by request (upsmon -p)
   0.000704	[D1] Saving PID 460 into /run/nut/upsmon.pid
Init SSL without certificate database
   0.003038	[D1] Trying to connect to UPS [myups@localhost]
   0.010646	User upsmonmaster@127.0.0.1 logged into UPS [myups]
   0.004183	[D1] Logged into UPS myups@localhost

voici mon onduleur
https://www.amazon.fr/APC-Back-UPS-Onduleur-connecteurs-sortie/dp/B002US9AYC

Si quelqu’un peux m’aiguiller.

Merci

Bonjour @kristobal, en etant sur proxmox tu peux le gérer directement par celui-ci et récupérer les infos sur Ha.

https://joyeku.run/installer-un-onduleur-greencell-sur-proxmox-et-home-assistant/

https://www.thesmarthomebook.com/2022/09/02/setting-up-monitor-your-ups-proxmox-home-assistant/

Merci
Je vais essayer de cette façon.

sinon regarde bien au niveau de ton driver. ce ne sont pas tous les meme pour les APC

1 « J'aime »

J’en ai testé plusieurs pourtant. Je vais tous les tester.

mmm tous les back-ups sont bien avec ton driver


par contre ton fichier de log (derniere ligne indique que ton serveur s’est bien connecté. ce n’est donc effecrtiveent pas un probleme de driver. (désolé j’aurais du le voir avant, mais j’ai parcouru trop vite ton fichier de log).
du coup, tu peux nous montrer ce qui se passe quand tu ajoute l’integration? (attention le serveur ce n’est pas l’integration le serveur est ce qui met a disposition les informations de l’onduleur il faut aller les chercher sur HA avec l’(intégration Nut qui va pouvoir se brancher sur ton serveur.

Je m’y suis remis un peu mais toujours rien.
Dans le log il n’arrive pas a charger le périphérique usb on dirait.

Can’t claim USB device [051d:0002]@0/0: Other error

cont-init: info: running /etc/cont-init.d/nut.sh
[14:05:35] INFO: Setting mode to netserver...
[14:05:35] INFO: Generating /etc/nut/upsd.users...
[14:05:35] INFO: Configuring user: kristobal
[14:05:36] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[14:05:36] INFO: Configuring Device named myups...
[14:05:36] INFO: Starting the UPS drivers...
Can't claim USB device [051d:0002]@0/0: Other error
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
Network UPS Tools - UPS driver controller 2.8.0
Driver failed to start (exit status=1)
cont-init: info: /etc/cont-init.d/nut.sh exited 1
cont-init: info: running /etc/cont-init.d/nutclient.sh
cont-init: info: /etc/cont-init.d/nutclient.sh exited 0
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-timezone: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-timezone successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

oula, dsl j’etais en vacances :slight_smile:
apparemment il arrive pas a se connecter au port usb… tu le vois bien dans ton systeme? il n’y aurait pas un pb de puissance?

Bonjour,

Bon et bien j’ai suivi le tuto et la configuration du module complémentaire ce passe très bien: Aucun message d’erreur dans le journal.
Par contre avec l’intégration les choses se passent beaucoup moins bien.
Pourtant je n’ai touché à rien, juste entré le nom d’utilisateur et le mot de passe.
J’ai cette réponse…
Une solution ?

Je ne comprends pas -_-
A l’aide svp

1 « J'aime »

Bon et bien en fait c’est tout bête. Le nom d’Hôte se trouve sur la page d’accueil du module complémentaire « Network UPS Tools ».
Si cela peut aider des pas doués comme moi.

1 « J'aime »

Salut

Merci pour ce tuto.:+1:

Juste un détail, pour la configuration de l’intégration pour la saisie du localhost, après plusieurs tentatives avec IP du serveur sans résultat avec ce message d’erreur de ce type.

J’ai réussi en utilisant le nom d’hôte comme précisé par @Rico3874 .
Nom d’hôte que l’on trouve sur la page d’accueil du module complémentaire.

Cela pourrait être utile de le préciser dans ce tuto.

Salut,
sinon c’est dans les premières lignes de la doc du module complémentaire :wink:

1 « J'aime »

Merci pour le tuto, sais-tu combien de temps peut rester allumer ta raspberry pi avec ton onduleur ?