Hi,
I posted about this to the list earlier this week, but it seems to
have got combined with a previous thread and lost, at least that's
what it looks like in the archive (and I didn't receive a copy as I
would have expected).
So forgive me if you've already seen this, but:
I've got a couple of LiebertPSP's connected to my equipment and I'd
like to use NUT to keep an eye on them. As things stands they
piggyback on the Belkin USB HID drivers but this don't seem to support
the "OB"/"OL" status which is rather important.
I've tried to create a sub driver myself by hacking away at the Belkin
driver but I don't understand enough C to make any headway.
Here's an example from usbhid-ups in explore mode:
0.577720 Path: UPS.PowerSummary.PresentStatus.Charging, Type:
Feature, ReportID: 0x07, Offset: 0, Size: 1, Value: 0.000000
0.577731 Report[buf]: (2 bytes) => 07 0d
0.577743 Path: UPS.PowerSummary.PresentStatus.Charging, Type:
Input, ReportID: 0x07, Offset: 0, Size: 1, Value: 0.000000
0.577753 Report[buf]: (2 bytes) => 07 0d
0.577764 Path: UPS.PowerSummary.PresentStatus.Discharging,
Type: Feature, ReportID: 0x07, Offset: 1, Size: 1, Value: 0.000000
0.577774 Report[buf]: (2 bytes) => 07 0d
0.577785 Path: UPS.PowerSummary.PresentStatus.Discharging,
Type: Input, ReportID: 0x07, Offset: 1, Size: 1, Value: 0.000000
0.577794 Report[buf]: (2 bytes) => 07 0d
0.577807 Path: UPS.PowerSummary.PresentStatus.ACPresent, Type:
Feature, ReportID: 0x07, Offset: 2, Size: 1, Value: 0.000000
0.577816 Report[buf]: (2 bytes) => 07 0d
0.577828 Path: UPS.PowerSummary.PresentStatus.ACPresent, Type:
Input, ReportID: 0x07, Offset: 2, Size: 1, Value: 0.000000
0.577837 Report[buf]: (2 bytes) => 07 0d
0.577849 Path: UPS.PowerSummary.PresentStatus.BatteryPresent,
Type: Feature, ReportID: 0x07, Offset: 3, Size: 1, Value: 0.000000
0.577858 Report[buf]: (2 bytes) => 07 0d
0.577870 Path: UPS.PowerSummary.PresentStatus.BatteryPresent,
Type: Input, ReportID: 0x07, Offset: 3, Size: 1, Value: 0.000000
0.577879 Report[buf]: (2 bytes) => 07 0d
0.577891 Path:
UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type:
Input, ReportID: 0x07, Offset: 4, Size: 1, Value: 0.000000
0.577900 Report[buf]: (2 bytes) => 07 0d
0.577912 Path:
UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type:
Feature, ReportID: 0x07, Offset: 4, Size: 1, Value: 0.000000
0.577922 Report[buf]: (2 bytes) => 07 0d
0.577933 Path: UPS.PowerSummary.PresentStatus.ShutdownImminent,
Type: Input, ReportID: 0x07, Offset: 5, Size: 1, Value: 0.000000
0.577942 Report[buf]: (2 bytes) => 07 0d
0.577954 Path: UPS.PowerSummary.PresentStatus.ShutdownImminent,
Type: Feature, ReportID: 0x07, Offset: 5, Size: 1, Value: 0.000000
0.577963 Report[buf]: (2 bytes) => 07 0d
0.577975 Path: UPS.PowerSummary.PresentStatus.NeedReplacement,
Type: Input, ReportID: 0x07, Offset: 6, Size: 1, Value: 0.000000
0.577984 Report[buf]: (2 bytes) => 07 0d
0.577996 Path: UPS.PowerSummary.PresentStatus.NeedReplacement,
Type: Feature, ReportID: 0x07, Offset: 6, Size: 1, Value: 0.000000
0.578005 Report[buf]: (2 bytes) => 07 0d
0.578016 Path: UPS.PowerSummary.PresentStatus.NeedReplacement,
Type: Input, ReportID: 0x07, Offset: 7, Size: 1, Value: 0.000000
I can tell you that the "07 0d" appears when the UPS is powered, and
when the power is taken away this changes to 07 0a. It is my current
belief that the first bit indicates AC power, so I tried to write a
conversion function for "AC Present" to act on this bit but the value
that gets passed to the function always seems to be zero.
I'm now completely stuck. I can offer my time and UPS to the cause
but my skills in actual coding will be of no help.
Thanks for any assistance you can offer.
Cheers, Will