[Nut-upsuser] battery.charge and other fixes needed for X-Power Tigra 1kVA

Tmima Pliroforikis Perifereiakis Enotitas Pierias pliroforiki at pieria.pkm.gov.gr
Wed May 16 05:24:26 UTC 2012


Frédéric Bohé wrote:
> On Mon, 2012-05-14 at 13:20 +0300, Tmima Pliroforikis Perifereiakis
> Enotitas Pierias wrote:
>> Hello Frederic,
>>
>> Frédéric Bohé wrote:
>>> [snip]
>>>          offdelay = value
>>>              Time to wait before shutting down the UPS (seconds). This
>>> value
>>>              is truncated to units of 6 seconds (less than 60 seconds) or
>>> 60
>>>              seconds (more than 60 seconds). Defaults to 30 seconds.
>>>
>>>
>>> So you can try to add this to your ups.conf and see if it works.
>>
>> If the a battery low is received, the system which is connected to the
>> UPS initiates a shutdown successfully. However, the UPS does not power
>> off as configured with offdelay and it does not power up as configured
>> with ondelay. So it seems that a "upscmd<upsname>  shutdown.return 1"
>> should definitely be used.
>
> Well, the blazer_ser driver should issue this command.
> Can you call the following command after stopping NUT (there should be
> no other driver running). Beware that this will likely shutdown your UPS
> so make sure your PC is not electrically connected to it.
>
> blazer_ser -a<ups_name>  -DDDDD -k
 >
 > Then you can send the output to the list.

Nice catch, seems shutdown is not working at all :( :

C:\Program Files\NUT\bin>blazer_ser -a ups1 -DDDDD -k
Network UPS Tools - Megatec/Q1 protocol serial driver 1.52 
(2.6.3-3534:3545M)
    0.000000     debug level is '5'
    0.000000     w32_serial_open (com1)
    0.015625     setting initial state on com1
    0.015625     000007AC = w32_serial_open (com1)
    0.015625     vmin_ 0, vtime_ 0
    0.125000     action 0
    0.125000     vtime 0, vmin 1
    0.125000     ReadTotalTimeoutConstant -2, ReadIntervalTimeout -1, 
ReadTotalTimeoutMultiplier -1
    0.125000     vmin_ 1, vtime_ 0
    0.125000     action 0
    0.125000     vtime 0, vmin -1
    0.125000     ReadTotalTimeoutConstant -2, ReadIntervalTimeout -1, 
ReadTotalTimeoutMultiplier -1
    0.234376     Initiating UPS shutdown
    0.343752     send: C
    0.343752     w32_serial_read : ulen 512, vmin_ -1, vtime_ 0, hEvent 
000007A8
    0.375002     w32_serial_read : characters are available on input buffer
    0.375002     w32_serial_read : Reading 1 characters
    0.375002     w32_serial_read : total characters read = 1
    0.375002     w32_serial_read : Reading 3 characters
    0.375002     w32_serial_read : total characters read = 4
    0.390627     w32_serial_read : characters are available on input buffer
    0.390627     w32_serial_read : Reading 1 characters
    1.390634     w32_serial_read : total characters read = 4
    1.390634     read: NAK
    1.390634     instcmd: command [shutdown.stop] failed
    1.500009     send: C
    1.500009     w32_serial_read : ulen 512, vmin_ -1, vtime_ 0, hEvent 
000007A8
    1.531259     w32_serial_read : characters are available on input buffer
    1.531259     w32_serial_read : Reading 1 characters
    1.531259     w32_serial_read : total characters read = 1
    1.546885     w32_serial_read : Reading 3 characters
    1.546885     w32_serial_read : total characters read = 4
    1.546885     w32_serial_read : characters are available on input buffer
    1.546885     w32_serial_read : Reading 1 characters
    2.546891     w32_serial_read : total characters read = 4
    2.546891     read: NAK
    2.546891     instcmd: command [shutdown.stop] failed
    2.656267     send: C
    2.656267     w32_serial_read : ulen 512, vmin_ -1, vtime_ 0, hEvent 
000007A8
    2.687517     w32_serial_read : characters are available on input buffer
    2.687517     w32_serial_read : Reading 1 characters
    2.687517     w32_serial_read : total characters read = 1
    2.687517     w32_serial_read : Reading 3 characters
    2.703142     w32_serial_read : total characters read = 4
    2.703142     w32_serial_read : characters are available on input buffer
    2.703142     w32_serial_read : Reading 1 characters
    3.703148     w32_serial_read : total characters read = 4
    3.703148     read: NAK
    3.703148     instcmd: command [shutdown.stop] failed
    3.703148     Shutdown failed!

So it seems we are unable to shut this thing down? For the record, the 
ups.conf I was using is the following:

ups.conf
========
[ups1]
driver = blazer_ser
port = com1
novendor
runtimecal = 300,100,840,50
offdelay = 120
ondelay = 3

Now is the strange thing. I switched to the bestups driver for the 
purposes of contucting the same test. I changed ups.conf to:

ups.conf
========
[ups1]
driver = bestups
port = com1
id = 610,1000,225,230,10.0,36.0
nombattvolt=41.1

This time, executing the kill command (bestups -a ups1 -DDDDD -k) seems 
to do the trick! From the log:

C:\Program Files\NUT\bin>bestups -a ups1 -DDDDD -k
Network UPS Tools - Best UPS driver 1.06 (2.6.3-3534:3545M)
    0.000000     debug level is '5'
    0.000000     w32_serial_open (com1)
    0.000000     setting initial state on com1
    0.000000     000007AC = w32_serial_open (com1)
    0.000000     vmin_ 0, vtime_ 0
    0.109376     action 0
    0.109376     vtime 0, vmin 1

    0.109376     ReadTotalTimeoutConstant -2, ReadIntervalTimeout -1, 
ReadTotalTmeoutMultiplier -1
    0.109376     Initiating UPS shutdown
The UPS will shut down in approximately one minute.
    0.359378     w32_serial_read : ulen 64, vmin_ 1, vtime_ 0, hEvent 
000007A8
    0.359378     w32_serial_read : characters are available on input buffer
    0.359378     w32_serial_read : Reading 1 characters
    0.359378     w32_serial_read : total characters read = 1
    0.359378     w32_serial_read : Reading 13 characters
    0.359378     w32_serial_read : total characters read = 14
    0.359378     w32_serial_read : ulen 64, vmin_ 1, vtime_ 0, hEvent 
000007A8
    0.359378     w32_serial_read : characters are available on input buffer
    0.359378     w32_serial_read : Reading 1 characters
    0.406253     w32_serial_read : total characters read = 1
    0.421878     w32_serial_read : Reading 13 characters
    0.421878     w32_serial_read : total characters read = 14
    0.421878     w32_serial_read : ulen 64, vmin_ 1, vtime_ 0, hEvent 
000007A8
    0.421878     w32_serial_read : characters are available on input buffer
    0.421878     w32_serial_read : Reading 1 characters
    0.468753     w32_serial_read : total characters read = 1
    0.468753     w32_serial_read : Reading 13 characters
    0.468753     w32_serial_read : total characters read = 14
    0.468753     w32_serial_read : ulen 64, vmin_ 1, vtime_ 0, hEvent 
000007A8
    0.484378     w32_serial_read : characters are available on input buffer
    0.484378     w32_serial_read : Reading 1 characters
    0.515629     w32_serial_read : total characters read = 1
    0.515629     w32_serial_read : Reading 4 characters
    0.515629     w32_serial_read : total characters read = 5
The UPS will restart in about one minute.

Checking physically the ups, it really shutted down. It almost 
immediately restarted though, perhaps because it was connected to AC 
power? Pity that I can't use this driver though, since neither offdelay, 
nor ondelay are supported:

C:\Program Files\NUT\bin>bestups -h
Network UPS Tools - Best UPS driver 1.06 (2.6.3-3534:3545M)

usage: bestups -a <id> [OPTIONS]
   -a <id>        - autoconfig using ups.conf section <id>
                  - note: -x after -a overrides ups.conf settings

   -V             - print version, then exit
   -L             - print parseable list of driver variables
   -D             - raise debugging level
   -q             - raise log level threshold
   -h             - display this help
   -k             - force shutdown
   -i <int>       - poll interval
   -r <dir>       - chroot to <dir>
   -u <user>      - switch to <user> (if started as root)
   -x <var>=<val> - set driver variable <var> to <val>
                  - example: -x cable=940-0095B

Acceptable values for -x or ups.conf in this driver:

         Override nominal battery voltage : -x nombattvolt=<value>
               Battery voltage multiplier : -x battvoltmult=<value>
             Force UPS ID response string : -x ID=<value>

BR,


Michail.-



More information about the Nut-upsuser mailing list