On Sat, 19 Jun 2021, Charles Lepple via Nut-upsuser wrote:

On Jun 19, 2021, at 10:55 AM, Roger Price wrote:
The Developer Guide Chapter 9 
https://networkupstools.org/docs/developer-guide.chunked/ar01s09.html "Network 
Protocol Information" provides the following example of the output of a LIST RANGE 
command:

BEGIN LIST RANGE su700 input.transfer.low
RANGE su700 input.transfer.low "90" "100"
RANGE su700 input.transfer.low "102" "105"
...
END LIST RANGE su700 input.transfer.low

The RANGE entries are not contiguous. There is a gap between "100" and "102". 
Is this correct?

Unfortunately, I don't think we have an example of the full set of data for the su700 UPS mentioned there. The only use of this in recent history seems to be in nutdrv_qx (search for dstate_addrange()).

The way I read the protocol document, though, the gap seems intentional. Otherwise, a single range from 90 to 105 could have been used. I suspect this was intended for cases where the low voltage is relative to a 110/220V setting (e.g. you can't set the low voltage to be something in the middle like 150V). I admit this sounds contrived; however, the NUT code seems to support multiple discontinuous ranges as shown in that example.

Here is a real-world example of a single range per variable:

https://github.com/networkupstools/nut-ddl/blob/master/INELT/INELT__Monolith_E1000LT-12V__nutdrv-qx__2.7.4__01.dev#L72

This would probably yield:

BEGIN LIST RANGE inelt input.transfer.low
RANGE inelt input.transfer.low "40" "47"
END LIST RANGE inelt input.transfer.low

Since one would generally expect a single range, I will reduce the example in the I-D to a single range for a fictional UPS-1, even though the code can do more. NUT will still conform to the future RFC.

Roger

_______________________________________________
Nut-upsuser mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to