[Nut-upsuser] Liebert PSP

Charles Lepple clepple at gmail.com
Sun Sep 19 21:16:05 UTC 2010


On Sep 17, 2010, at 9:00 AM, Will Cooke wrote:

> On 17 September 2010 13:26, Charles Lepple <clepple at gmail.com> wrote:
>
> <snip>
>
>> Also, if you want to include the output of "diff -u" (or "svn diff")
>> from your changes, we can take a look at that. You're probably close,
>> but the HID parsing code is pretty complex.
>
> I love your optimism ;).  I risk having my Linux Users licence revoked
> by sharing that "code".  Basically all I've done is modify the
> hid_into_t thus:
>
> { "BOOL", 0, 0, "UPS.PowerSummary.PresentStatus.ACPresent",   NULL,
> "%s", HU_FLAG_QUICK_POLL,
> liebertpsp_presentstatus_acpresent_conversion },
>
> to make it call my function which then just prints out "value" using
> the upsdebugx function.  Once I could see the correct value I was
> going to work out an IF statement.

Remember when I said you were really close? Apparently, now that we've  
figured out that it isn't really "0.000000" for both cases, I think  
you just need to multiply the value by 1e7 in that function, sort of  
the same way that some Tripplite voltages are multiplied by 10:

http://trac.networkupstools.org/projects/nut/browser/trunk/drivers/tripplite-hid.c#L155

This function multiplies by the variable "battery_scale" because some  
Tripp-Lite product IDs get this right, and others don't - so the scale  
factor is set at initialization time. You might want to try a similar  
approach, just in case a new model comes out.

The input and output voltages look like they need a similar  
adjustment, and the frequency probably needs to be divided by 10.  
Actually, this was mentioned in another email thread in July:

http://lists.alioth.debian.org/pipermail/nut-upsuser/2010-July/006104.html

... and that seems to indicate that BatteryPresent and maybe other  
booleans need a scale factor, too.



More information about the Nut-upsuser mailing list