I know others have seen this before, I just never saw any real resolution to it. I am not a programmer, or at the least a very bad one, so I don't think this is something I can do properly myself. I have a Cyberpower 1500 AVR rack mount that worked good, except for the output voltage listing, with an older version of NUT (I don't remember the version of NUT, but the O/s was Fedora Core 6) and with an upgrade I get this from NUT: NUT output battery.charge: 213 driver.name: powerpanel driver.parameter.pollinterval: 2 driver.parameter.port: /dev/ttyS0 driver.version: 2.2.0- driver.version.internal: 0.22 input.frequency: 70.8 input.frequency.nominal: 60 input.transfer.high: 147 input.transfer.low: 88 input.voltage: 132 input.voltage.nominal: 120 output.voltage: 0 ups.beeper.status: enabled ups.firmware: 5.100 ups.load: 26 ups.mfr: CyberPower ups.model: OP1500 ups.serial: [unknown] ups.status: OL TRIM ups.temperature: 144 Ok, it sees it for the most part, save for every other time it kicks back 'data stale'. I figure this is due to the binary driver I am using. I have the PowerPanel driver loaded for this now. Previous I was using the Cyberpower driver, until it kicked back short read errors on load of the driver. I actually contacted Cyberpower out of curiosity and found they have a package for Linux for power panel. What I get from that is (combined output of their upsm status and upsm information command): utility state : normal charger state : bypass battery state : normal input voltage : 123 volts output voltage : 123 volts AVR level : normal battery capacity : 100 % load level : 48 % frequency : 60.7 Hz temperature : 31 C backup time : 21 minute 0 seconds. UPS model : OP1500 UPS version : 5.100 output format : 120 V battery format : buzzer : [on],off cold start : on,[off] enable status record : [on],off shutdown system after power fails : [on],off enable auto save function :[on],off status record interval : 10 minute 0 seconds. power failure causes system shutdown after : 30 seconds. time to wait system complete shutdown : 2 minute 0 seconds. communication port : None,Auto,[ttyS0],ttyS1 high input voltage configuration : 140,141,142,143,144,[145],146,147,148,149,150 low input voltage configuration : 85,86,87,88,89,[90],91,92,93,94,95 percentage of battery critical capacity configuration : 15,18,19,20,22,24,25,26,[28],30,32,34,35,36,38,40 battery mode output voltage configuration : 110,115,[120],124,128,130 Now that is a bit closer to the normal portion of what I should see. I am not sure if anyone out there in the group has seen the powerpanel for Linux stuff before, but using that as a baseline of the results from the reads on the binary stream back may be a way of tuning the driver. I am sure that is a horrible and cumbersome way of doing things though. I notice that the NUT driver does pull a lot of accurate information from my UPS, but it looks like functions that require a little math to get the numbers is off by a bit. Not sure how to approach fixing this, or getting it fixed, right now. Any help would be appreciated. Thanks Seann
[...]> Now that is a bit closer to the normal portion of what I should see. I > am not sure if anyone out there in the group has seen the powerpanel for > Linux stuff before, but using that as a baseline of the results from the > reads on the binary stream back may be a way of tuning the driver. I am > sure that is a horrible and cumbersome way of doing things though.There are quite a number of variables where the UPS reports a number that isn't directly related to the reported value. Problem is, that we don't have access to the conversion functions that are needed and so far, nobody has volunteered to reverse engineer them. Running the driver that is provided by Cyberpower and throwing data at it and see what it reports should be sufficient (you don't need to have access to the UPS to do that). Although I wrote most of the 'powerpanel' driver, I don't own any devices that can be used with it, so I don't have a lot of reason to do this.> I notice that the NUT driver does pull a lot of accurate information > from my UPS, but it looks like functions that require a little math to > get the numbers is off by a bit. Not sure how to approach fixing this, > or getting it fixed, right now.Reverse engineering the conversion functions would be helpful. This will probably require building an application that mimics your UPS and that allows setting some values. Best regards, Arjen -- Eindhoven - The Netherlands Key fingerprint - 66 4E 03 2C 9D B5 CB 9B 7A FE 7E C1 EE 88 BC 57
Seann Clark wrote:> I know others have seen this before, I just never saw any real > resolution to it. I am not a programmer, or at the least a very bad one, > so I don't think this is something I can do properly myself. > > I have a Cyberpower 1500 AVR rack mount that worked good, except for the > output voltage listing, with an older version of NUT (I don't remember > the version of NUT, but the O/s was Fedora Core 6) and with an upgrade I > get this from NUT: > NUT output > > battery.charge: 213 > driver.name: powerpanel > driver.parameter.pollinterval: 2 > driver.parameter.port: /dev/ttyS0 > driver.version: 2.2.0- > driver.version.internal: 0.22 > input.frequency: 70.8 > input.frequency.nominal: 60 > input.transfer.high: 147 > input.transfer.low: 88 > input.voltage: 132 > input.voltage.nominal: 120 > output.voltage: 0 > ups.beeper.status: enabled > ups.firmware: 5.100 > ups.load: 26 > ups.mfr: CyberPower > ups.model: OP1500 > ups.serial: [unknown] > ups.status: OL TRIM > ups.temperature: 144As you found out already, the 'powerpanel' driver in nut-2.2.0 (and nut-2.2.1 also by the way) didn't have the required conversion functions that are needed to scale the readings from the UPS to reasonable values. This week I took some time to integrate these functions from the 'cyberpower' driver into the 'powerpanel' driver. The way to detect that these functions are needed is rather crude at the moment (first to characters in the model string are "OP") but for starters, this might be good enough. Could you try this version out? It is currently only available through SVN, so you would need to build from the sources. Let us know if you can do that, otherwise one of us may be able to send you a pre-build package if you let us know which kind of system you have. Best regards, Arjen