Agent UPS¶
Surveille un onduleur via un serveur NUT (Network UPS Tools).
Rôle¶
- Relève l'état de l'onduleur : présence secteur, charge de la batterie, autonomie estimée, puissance, tension.
- Permet au D.L.S de réagir à une coupure secteur (délestage, alerte, arrêt propre).
Pré-requis¶
| Élément | Exigence |
|---|---|
| Matériel | Onduleur supporté par NUT, raccordé en USB ou en réseau |
| Service | Un serveur NUT (upsd) en fonctionnement |
| Réseau | Port 3493/TCP joignable depuis la machine portant l'agent |
L'agent n'est pas un pilote d'onduleur
Il ne parle pas directement à l'onduleur : il interroge upsd. C'est NUT qui porte le
pilote et la configuration matérielle.
Mettre en place NUT¶
sudo apt install nut nut-server nut-client
# /etc/nut/ups.conf
[onduleur]
driver = usbhid-ups
port = auto
desc = "Onduleur baie"
# /etc/nut/upsd.conf
LISTEN 0.0.0.0 3493
# /etc/nut/upsd.users
[abls]
password = un-mot-de-passe
upsmon slave
sudo systemctl enable --now nut-server
upsc onduleur@localhost # doit afficher les variables de l'onduleur
N'exposez pas upsd au-delà du réseau local
Le protocole NUT n'est pas chiffré. Restreignez l'écoute au réseau de confiance.
Installation de l'agent¶
sudo apt install abls-agent-ups
Unité systemd¶
abls-agent-ups@.service — unité templatée.
sudo systemctl enable --now abls-agent-ups@UPS_BAIE.service
Paramètres spécifiques¶
| Clé JSON | Variable d'environnement | Option | Type | Description |
|---|---|---|---|---|
host |
ABLS_HOST |
--host |
chaîne | Adresse du serveur NUT |
name |
ABLS_NAME |
--name |
chaîne | Nom de l'onduleur dans ups.conf |
admin_username |
ABLS_ADMIN_USERNAME |
--admin-username |
chaîne | Utilisateur NUT (facultatif) |
admin_password |
ABLS_ADMIN_PASSWORD |
--admin-password |
chaîne | Mot de passe NUT (facultatif) |
Le name est le nom de section déclaré dans /etc/nut/ups.conf — ici onduleur.
Il n'a aucun rapport avec le agent_tech_id.
Enrôlement¶
sudo abls-agent-ups --agent-tech-id UPS_BAIE \
--host 127.0.0.1 \
--name onduleur \
--domain-uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--domain-secret 'votre-secret-ici' \
--api-url api.abls-habitat.fr \
--save
sudo systemctl enable --now abls-agent-ups@UPS_BAIE.service
Dépannage¶
| Symptôme | Piste |
|---|---|
| Connexion refusée | upsd non démarré, ou LISTEN limité à 127.0.0.1 alors que l'agent est distant |
Unknown UPS |
Le name ne correspond à aucune section de /etc/nut/ups.conf |
| Aucune variable remontée | Tester d'abord upsc <name>@<host> : si cela échoue, le problème est dans NUT |
| Accès refusé | Renseigner admin_username et admin_password |
| Autonomie fantaisiste | Batterie vieillissante ou non calibrée ; relève de l'onduleur |
sudo journalctl -u abls-agent-ups@UPS_BAIE.service -f
upsc onduleur@127.0.0.1