Onduleur ups tools help

Résolu
tlep Messages postés 597 Statut Membre -  
 Syagrius -
Hello,

Je cherche à faire fonctionner le monitoring de mon onduleur, un "UPS CS-500".
Il est correctement vu par le noyau :

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS CS 500 FW:808.q3.I USB FW:q3
S: SerialNumber=BB0422029526
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms

J'ai installé les paquets nut, et créé le fichier /etc/nut/ups.conf, dans lequel j'ai mis la section :
[myups]
driver = newhidups
port = auto
# cable = 1234
desc = "Back-UPS cs 500"

Mais quand je lance le driver :

upsdrvctl start

j'obtiens :

No USB/HID UPS found
Driver failed to start (exit status=1)

Si quelqu'un a des infos ou un tuto clair, merci d'avance !

Thierry
Configuration: Debian 2.6.12 sarge

3 réponses

  1. tlep Messages postés 597 Statut Membre 118
     
    Bon bah je me réponds à moi-même, au cas où çà puisse aider quelqu'un.

    Le principe de paramétrage est assez simple; la principale difficulté consiste à trouver le driver approprié et le device utilisé (si google n'existait pas... :-)), pour le renseigner dans le fichier /etc/nut/ups.conf :

    Dans mon cas (back up UPS 500, sur port usb), je me suis arrêté sur le driver "hidups", et le device "/dev/usb/hiddev0"

    Il s'agit donc simplement d'insérer ces lignes au fichier de config /etc/nut/ups.conf:

    [myups] #nom par défaut de mon onduleur
    driver = hidups
    port = /dev/usb/hiddev0

    Puis test:

    upsdrvctl start
    "Detected American Power Conversion Back-UPS CS 500 FW:808.q3.I USB FW:q3
    on port /dev/usb/hiddev0"

    Bingo !

    Puis démarrage d'upsd:
    "upsd"
    Network UPS Tools upsd 2.0.1
    /etc/nut/upsd.conf is world readable
    Connected to UPS [myups]: hidups-hiddev0
    /etc/nut/upsd.users is world readable
    Synchronizing...done

    Puis vérification des infos communiquées par l'onduleur :

    upsc myups@localhost

    battery.charge: 100
    battery.chemistry: Unknown
    battery.runtime: 960
    driver.name: hidups
    driver.parameter.port: /dev/usb/hiddev0
    driver.version: 2.0.1
    ups.delay.shutdown: 0
    ups.delay.start: 0
    ups.load: 0
    ups.mfr: Unknown
    ups.model: Unknown
    ups.serial: Unknown
    ups.status: OL
    0
  2. tlep Messages postés 597 Statut Membre 118
     
    .. Puis un petit test:

    Je débranche l'onduleur pour vérifier la validité des infos, et je tape :

    while true; do upsc myups@localhost|grep charge;sleep 1;clear;done

    Tout fonctionne: le niveau de batterie baisse:
    battery.charge: 77

    Là, je pourrais pousser plus avant les possibilités offertes par "nut", mais un petit shell via crontab (toutes les 5 minutes) me suffit :

    #!/bin/bash
    charge=`upsc myups@localhost|grep charge|awk '{print $2}'`
    #Charge inférieure à 60%: bip !
    if [ $charge -lt 60 ];then echo -e "\a";fi
    #Charge inférieure à 45%: arrêt du système !
    if [ $charge -lt 45 ];then shutdown -h now "\a";fi

    Avis aux amateurs !

    Thierry
    0
  3. Syagrius
     
    Mandriva 2006
    J'ai fais comme t'a dis et ça fonctionne, mais c'est différent pour Mandriva 2006
    alors je met mon grain de sel :)

    Je suis sous Mandriva 2006 avec un APC Back-UPS ES 350
    On fait la même procédure que tu a décris sauf qu'on enleve le répertoire usb/
    [myups] #nom par défaut de mon onduleur
    driver = hidups
    port = /dev/hiddev0
    0