[Nut-upsdev] Cyberpower USB CP550SL RT (AE550)

n xellos at bluebottle.com
Tue Jul 17 21:00:38 UTC 2007


i havent tested the battery with volt meter but im pretty sure the battery 
should only be 12v (i always thought an acid battery cant be more then 12v 
but maybe im wrong)


here is the upscmd i think its missing the battery test, i tried load.off 
and it shut the ups off then turned back on

#upscmd -l CyberPower
Instant commands supported on UPS [CyberPower]:

load.off - Turn off the load immediately
load.on - Turn on the load immediately
shutdown.stop - Stop a shutdown in progress
beeper.on - Enable the UPS beeper
beeper.off - Temporarily mute the UPS beeper


i was looking at the cyberpower.c source code and found some lines that 
adust the voltage on some cyberpower
so maybe these line needs to be added to the usb-hid driver? (although im 
not a programer so i have no idea)

on line 50 of cyberpower.c it has

/* adjust bizarre UPS data to observed voltage data */
static int voltconvert(unsigned char in)
{
 int v_end[43] = { 36, 51, 55, 60, 65, 70, 75, 80, 85, 91, 98, 103,
  108, 113, 118, 123, 128, 133, 138, 143, 148, 153, 158, 163,
  168, 173, 178, 183, 188, 193, 198, 203, 208, 213, 218, 223,
  228, 233, 238, 243, 248, 253, 255 };
 int v_adj[43] = {  3,  4,  5,  4,  3,  2,  1,  0, -1, -2, -3,  -4,
  -5,  -6,  -7,  -8,  -9, -10, -11, -12, -13, -14, -15, -16,
  -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28,
  -29, -30, -31, -32, -33, -34, -35 };
 int i;

 if (in < 27)
  return 0;

 for (i = 0; i < 19; i++) {
  if (in <= v_end[i]) {
   return (in + v_adj[i]);
  }
 }

 return 0;
}

/* map UPS data to realistic percentages */
static int battconvert(unsigned char in)
{
 /* these may only be valid for a load of 0 */
 int b_val[26] = {0, 1, 1, 2, 3, 4, 6, 8, 10, 12, 15, 18, 22, 26, 30,
  35, 40, 46, 52, 58, 66, 73, 81, 88, 99, 100 };

 if (in > 185)
  return 100;

 if (in < 160)
  return 0;

 return (b_val[in - 160]);
}

----- Original Message ----- 
From: "Charles Lepple" <clepple at gmail.com>
To: "n" <xellos at bluebottle.com>
Cc: "ups-dev-list" <nut-upsdev at lists.alioth.debian.org>
Sent: Tuesday, July 17, 2007 9:44 AM
Subject: Re: [Nut-upsdev] Cyberpower USB CP550SL RT (AE550)


> On 7/17/07, n <xellos at bluebottle.com> wrote:
>> ok here is the output (also i hooked this ups to windows and found out it
>> doesnt have temp / load support (as far as i know) but it should have the
>> basics like battery test..etc)
>
> What does 'upscmd -l <name-of-ups>' return?
>
>> it does still seem to have problems with battery voltage and im not sure 
>> if
>> the battery charge is working i had the pc unpluged for around 50-60 
>> seconds
>> and it still showed 100% battery but the battery voltage droped from 19~v 
>> to
>> 17~v)
>
> The debug output below shows that the reading from the device is 20.3
> V. That's all we have to go on. Have you checked it with a voltmeter?
> It may be off by a constant scale factor.
>
>> # usbhid-ups -DD -u root -x explore -x vendorid=0764 -a CyberPower
>> Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.2.0)
>>
> [...]
>> Path: UPS.PowerSummary.ConfigVoltage, Type: Feature, ReportID: 0x09, 
>> Offset:
>> 0, Size: 8, Value: 12.000000
>> Path: UPS.PowerSummary.Voltage, Type: Feature, ReportID: 0x0a, Offset: 0,
>> Size: 8, Value: 20.300001
>
> -- 
> - Charles Lepple

----------------------------------------------------------------------
Finally - A spam blocker that actually works.
http://www.bluebottle.com/tag/4




More information about the Nut-upsdev mailing list