Besoin d'aide pour gérer un onduleur avec nut
Publié : 18 avr. 2016, 15:45
Bonjour,
J'ai un nas qnap sur lequel j'ai branché en usb un onduleur générique chinois (ceux qui me lisent un peu commencent à comprendre que la ou je vis, on ne trouve pas ce qu'on veut). Mon nas est le SEUL matos qui reconnaisse cet onduleur, meme le raspberry, en essayant plusieurs drivers avec nut, ne veut rien savoir. Par chance le nas peut servir de serveur d'onduleur pour éteindre d'autres appareils en cas de coupure. J'ai donc installé "nut client" sur le raspberry pour monitorer l'onduleur par l'intermédiaire du nas.
N'ayant installé que la partie client de nut, le répertoire /etc/nut était vide, j'ai donc créer 3 fichiers:
- nut.conf
- upsmon.conf
notifycmd script:
Avec tout ça, lorsque l'onduleur est en mode batterie, on attend 40 minutes avant d'éteindre le raspberry au cas ou le courant revienne.
Si le courant revient avant les 40 minutes, on retourne à la normale.
les permettent de lancer des requêtes lors d'un changement d'état (autant qu'on veut), par exemple enclencher un interrupteur virtuel domoticz ou envoyer un sms...
Mais il y a un cas spécial qui me pose problème: si le raspberry perd, pour une raison ou une autre, la connexion réseau avec la nas (et donc l'onduleur) alors que l'onduleur est sur mode batterie, il est considéré comme "dead" par "nut" qui m'éteint tout de suite le raspberry....
C'est pas cool... j'aimerais au moins un délai... ou pouvoir envoyer des requetes curl avant l'extinction...
Je sais que mon fichier upsmon.conf est incomplet: j'ai entendu parler de l'option DEADTIME, COMMBAD ou NOCOMM et je sais que je devrais rajoutter des lignes dans mon "notifycmd" mais je ne sais pas quoi mettre... j'ai lu ce que je pouvais en français et en anglais sur le net mais je n'ai pas trouver de tuto sur comment modifier le comportement de nut en cas de perte de connexion en mode batterie...
Si un spécialiste de nut passe par là, de l'aide serait la bienvenue !
Merci
J'ai un nas qnap sur lequel j'ai branché en usb un onduleur générique chinois (ceux qui me lisent un peu commencent à comprendre que la ou je vis, on ne trouve pas ce qu'on veut). Mon nas est le SEUL matos qui reconnaisse cet onduleur, meme le raspberry, en essayant plusieurs drivers avec nut, ne veut rien savoir. Par chance le nas peut servir de serveur d'onduleur pour éteindre d'autres appareils en cas de coupure. J'ai donc installé "nut client" sur le raspberry pour monitorer l'onduleur par l'intermédiaire du nas.
N'ayant installé que la partie client de nut, le répertoire /etc/nut était vide, j'ai donc créer 3 fichiers:
- nut.conf
Code : Tout sélectionner
MODE=netclientCode : Tout sélectionner
MONITOR login@nas_ip 1 admin password slave
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
NOTIFYCMD "/etc/nut/notifycmd"
Code : Tout sélectionner
#!/bin/bash
#
# NUT NOTIFYCMD script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
trap "exit 0" SIGTERM
if [ "$NOTIFYTYPE" = "ONLINE" ]
then
echo $0: power restored | wall
# curl command
# Cause all instances of this script to exit.
killall -s SIGTERM `basename $0`
fi
if [ "$NOTIFYTYPE" = "ONBATT" ]
then
echo $0: 40 minutes till system powers down... | wall
#curl command
# Loop with one second interval to allow SIGTERM reception.
let "n = 2400"
while [ $n -ne 0 ]
do
sleep 1
let "n--"
done
echo $0: commencing shutdown | wall
sleep 10
upsmon -c fsd
fi
Si le courant revient avant les 40 minutes, on retourne à la normale.
les
Code : Tout sélectionner
#curl commandMais il y a un cas spécial qui me pose problème: si le raspberry perd, pour une raison ou une autre, la connexion réseau avec la nas (et donc l'onduleur) alors que l'onduleur est sur mode batterie, il est considéré comme "dead" par "nut" qui m'éteint tout de suite le raspberry....
C'est pas cool... j'aimerais au moins un délai... ou pouvoir envoyer des requetes curl avant l'extinction...
Je sais que mon fichier upsmon.conf est incomplet: j'ai entendu parler de l'option DEADTIME, COMMBAD ou NOCOMM et je sais que je devrais rajoutter des lignes dans mon "notifycmd" mais je ne sais pas quoi mettre... j'ai lu ce que je pouvais en français et en anglais sur le net mais je n'ai pas trouver de tuto sur comment modifier le comportement de nut en cas de perte de connexion en mode batterie...
Si un spécialiste de nut passe par là, de l'aide serait la bienvenue !
Merci