[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