[Nut-upsuser] Discontinuous output of a LIST RANGE command ?

Charles Lepple
Sat, 19 Jun 2021 17:21:16 -0000

On Jun 19, 2021, at 10:55 AM, Roger Price wrote:
>
> During the ISE review of the proposed RFC, the IETF editor has asked for
clarification of the output of command LIST RANGE <upsname>
<varname>.
>
> 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

> Roger
>
> _______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser



--
Charles Lepple
clepple at gmail