[Nut-upsdev] [HCL] Riello IPG 600 supported by riello_usb / incorrect battery.charge and ups.temperature values

Charles Lepple clepple at gmail.com
Tue Nov 21 15:44:26 UTC 2017


[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.html

I 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.)


More information about the Nut-upsdev mailing list