Andrés Valdaliso
2017-Nov-16 11:30 UTC
[Nut-upsdev] [HCL] Riello IPG 600 supported by riello_usb / incorrect battery.charge and ups.temperature values
Hello everyone, I recently bought a Riello IPG 600 UPS ( http://www.riello-ups.com/products/1-ups/39-iplug) to prevent hardware damage to my server in case of power outages (already lost two hard drives because of this) and I managed to successfully configure it with NUT version 2.7.4 available for Ubuntu 17.04: nut/zesty-updates,zesty-updates,now 2.7.4-5ubuntu2.1 all [installed] nut-cgi/zesty-updates,now 2.7.4-5ubuntu2.1 amd64 [installed] nut-client/zesty-updates,now 2.7.4-5ubuntu2.1 amd64 [installed] nut-server/zesty-updates,now 2.7.4-5ubuntu2.1 amd64 [installed] However, the command upsc returns incorrect values for battery.charge and ups.temperature: battery.capacity: 5 battery.charge: 255 battery.runtime: 3932100 battery.voltage: 13.5 battery.voltage.nominal: 12 device.mfr: RPS S.p.a. device.model: USV5 device.serial: device.type: ups driver.name: riello_usb driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.internal: 0.03 input.bypass.frequency: 409.50 input.bypass.voltage: 4095 input.frequency: 50.10 input.voltage: 235 output.frequency: 50.10 output.frequency.nominal: 50.0 output.L1.current: 0 output.L1.power: 0 output.L1.realpower: 0 output.L2.current: 0 output.L2.power: 0 output.L2.realpower: 0 output.L3.current: 0 output.L3.power: 0 output.L3.realpower: 0 output.power.percent: 0 output.voltage: 233 output.voltage.nominal: 230 ups.firmware: SWM036-01-02 ups.load: 0 ups.mfr: RPS S.p.a. ups.model: USV5 ups.power.nominal: 600 ups.productid: 5500 ups.realpower.nominal: 360 ups.serial: ups.status: OL ups.temperature: 255 ups.vendorid: 04b4 The CGI interface is showing 255% battery level and 255 ?C temperature values, as well. I ran a test and disconnected the UPS from the mains while monitoring these values to see if they changed, and while ups.status changed to "OB", I could not see any differences in ups.temperature and battery.charge values over the course of 10 minutes (I have a modem-router connected to the UPS as well as the server, so I would expect to at least see the battery.charge value change a bit, as both of them kept running). This is what upsc returns after 10 minutes on battery: battery.capacity: 5 battery.charge: 255 battery.runtime: 3932100 battery.voltage: 12.3 battery.voltage.nominal: 12 device.mfr: RPS S.p.a. device.model: USV5 device.serial: device.type: ups driver.name: riello_usb driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.internal: 0.03 input.bypass.frequency: 409.50 input.bypass.voltage: 4095 input.frequency: 0.00 input.voltage: 6 output.frequency: 50.00 output.frequency.nominal: 50.0 output.L1.current: 0 output.L1.power: 0 output.L1.realpower: 0 output.L2.current: 0 output.L2.power: 0 output.L2.realpower: 0 output.L3.current: 0 output.L3.power: 0 output.L3.realpower: 0 output.power.percent: 0 output.voltage: 230 output.voltage.nominal: 230 ups.firmware: SWM036-01-02 ups.load: 0 ups.mfr: RPS S.p.a. ups.model: USV5 ups.power.nominal: 600 ups.productid: 5500 ups.realpower.nominal: 360 ups.serial: ups.status: OB ups.temperature: 255 ups.vendorid: 04b4 It looks as if the driver riello_usb might not be reading the values correctly? This seems to be supported by report #1 on this link, showing a different UPS from the same manufacturer using the same riello_usb driver: http://networkupstools.org/ddl/Riello/iDialog_800_IDG_800.html I got this UPS model in particular because it was readily available in my country and showed with support level green (vendor provided protocol and hardware) in networkupstools.org stable hardware compatibility list, so it seemed like a good choice. However, not being able to monitor the battery charge value is a real show-stopper (I can live with inaccurate temperature readings, though). According to github, last modification on riello_usb.c was commited 3 years ago, so I'm not sure if it's being maintained. Is there something that can be done about this, or am I better off getting a different UPS altogether? Thanks and regards, Andr?s Valdaliso. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20171116/74d0de9f/attachment.html>
Charles Lepple
2017-Nov-21 15:44 UTC
[Nut-upsdev] [HCL] Riello IPG 600 supported by riello_usb / incorrect battery.charge and ups.temperature values
[when responding, please use Reply-All to include the list. Thanks!] On Nov 16, 2017, at 6:30 AM, Andr?s Valdaliso <anacondo at gmail.com> wrote:> > Hello everyone, > > I recently bought a Riello IPG 600 UPS (http://www.riello-ups.com/products/1-ups/39-iplug) to prevent hardware damage to my server in case of power outages (already lost two hard drives because of this) and I managed to successfully configure it with NUT version 2.7.4 available for Ubuntu 17.04: > > nut/zesty-updates,zesty-updates,now 2.7.4-5ubuntu2.1 all [installed] > nut-cgi/zesty-updates,now 2.7.4-5ubuntu2.1 amd64 [installed] > nut-client/zesty-updates,now 2.7.4-5ubuntu2.1 amd64 [installed] > nut-server/zesty-updates,now 2.7.4-5ubuntu2.1 amd64 [installed]Thank you for providing the exact distribution and version information for NUT. You may want to monitor the status of this bug on Launchpad for shutdowns under systemd: https://bugs.launchpad.net/bugs/1603609> However, the command upsc returns incorrect values for battery.charge and ups.temperature:... It looks like a number of other values are scaled versions of 4095 (0xFFF), which probably means that the driver should not publish those values, either. Note that by default, upsmon does not use any of these values to decide when to shut down - it only looks for "ups.status: OB LB" (which is determined by the UPS firmware).> It looks as if the driver riello_usb might not be reading the values correctly? This seems to be supported by report #1 on this link, showing a different UPS from the same manufacturer using the same riello_usb driver: http://networkupstools.org/ddl/Riello/iDialog_800_IDG_800.htmlI will note that the IDG and IPG models are not listed in the protocol documentation files that are published here: http://networkupstools.org/ups-protocols.html#_riello> I got this UPS model in particular because it was readily available in my country and showed with support level green (vendor provided protocol and hardware) in networkupstools.org stable hardware compatibility list, so it seemed like a good choice. However, not being able to monitor the battery charge value is a real show-stopper (I can live with inaccurate temperature readings, though).You are starting to see the difficulty of maintaining a simple rating system for these units, which is what led to the creation of the DDL. I think we can move the support level from 5 to 4 for IDG and IPG models, though, since they are not explicitly mentioned in the protocol documentation.> According to github, last modification on riello_usb.c was commited 3 years ago, so I'm not sure if it's being maintained. Is there something that can be done about this, or am I better off getting a different UPS altogether?The age of the code is not necessarily a great indication of anything, really. The microcontrollers in an UPS are typically not upgradable (either due to lack of vendor updates, or because they are one-time programmable), so updates to drivers often come in bursts: when a user reports a problem, or when a new model comes out that breaks compatibility. Since you are a customer of Riello, I would recommend that you contact them to ask whether they can publish additional protocol documentation for the IPG series. It might be that the UPS simply needs a calibration command to enable the battery.charge value, or the UPS might not support it at all. You might also want to ask if there is a firmware update, just in case (though I did not see any indication of that on the vendor website). You may also want to consider your level of investment with this UPS. Your decision may be different if you have these units deployed throughout your network, or if you only have one system which needs reliable power/shutdown. While I have no hard data for this, my instinct is that most of the mid- to upper-tier models pay for themselves in the time saved debugging issues like missing values, as compared to inexpensive models. There are ways to estimate the battery charge percentage, but they really require a bit more knowledge of the state of the system, and without actual current or power measurements from the UPS, I don't think we should add such an estimate to the driver. (For a fixed load, you can estimate this from the battery voltage, until the battery gets too old.)