Network UPS Tools
Power Devices support
Table of Contents

Click here to see reports of other supported models from Manufacturer Name.

Note

When a user reports that a variable/command is not right then it will be highlighted by a red underline.

Bad values/ranges/etc… will get a red dashed outline or red solid left border.

The accompanying explaining comment - if provided - will be emphasized through a red dotted border on the left.

2.7.1

Report #1 with driver driver-name (detailed comments available)

This device is known to work with driver driver-name.

You can grab a dummy-ups compliant .nds file (v2) to simulate this device clicking here.

Some more detailed comments are available after the "Known supported…" sections.

Known supported variables

This device is known to support the following variables (values are just examples):

var.1

value

var.2

value

var.3

value

Let’s try the #BAD End Of Line comment

This variable can be set through upsrw within the following ranges:

  • 1..10

    Terse description of the reason

  • 15..20

  • 25..30

    Another description here about this range

Let’s talk about comments.

Like in .dev/.seq files, comments are allowed as lines preceeded by a hash (#), and as lines with spaces followed by a hash (‘ # <comment>’). Empty lines are ignored.

In addition, .nds files support some special comments, ignored by NUT’s dummy-ups/whatever_will_replace_it but used by Devices Dumps Library generation tool.

Special comments:
End Of Line comments

With the special End Of Line comment #COMMENT: <comment>, you can add a short sentence (supporting AsciiDoc inline markup) after the declaration of variables, RW types/values and commands, i.e.:

<var.name>: <value>     #COMMENT: <comment>
RW:<var.name>:STRING:<length>   #COMMENT: <comment>
RW:<var.name>:RANGE:"<min>" "<max>" #COMMENT <comment>
RW:<var.name>:ENUM:"<enumerated value>"#COMMENT: <comment>
CMD:<command.name> #COMMENT: <comment>

Note that the colon after #COMMENT is not mandatory.

Vars comments

Comments that are bound to a particular variable.

# <var.name>:COMMENT
# <comment>
# ...
# <comment>
# <var.name>:EOC
Commands comments

Comments bound to a particular command.

# <command.name>:COMMENT
# <comment>
# ...
# <comment>
# <command.name>:EOC
Device comment

A special comment to express general thougths about the whole device and to describe the way NUT supports it.

# DEVICE:COMMENT
# <comment>
# ...
# <comment>
# DEVICE:EOC
Device support level

Express on a 1 to 10 level how much you think the device is well supported in NUT.

# DEVICE:SUPPORT-LEVEL:<support-level>
NDS version

This is reserved to store the version of NDS this particular file belongs to.

# NDS:VERSION:<version>

Note that the leading space is mandatory: each line must begin with a hash followed by a single space (‘# ’), all comments not following this syntax will either produce an error or be ignored.

Multi-lines comments (vars, commands, device) support AsciiDoc markup (inline, paragraphs, blocks, lists, tables… not sections). Keep in mind that the leading space will always be removed and therefore you shouldn’t consider it in your AsciiDoc markup.

Also note that empty lines, comments without the required leading space after the hash and lines with spaces preceeding a hash will break multi-line comments.

Report a bad value

If certain values are not correctly reported, you can flag them with the special End Of Line comment #BAD, you can even add a short sentence (still supporting AsciiDoc inline markup) after it, explaining the reason (e.g. #BAD: unbelievably high value, note that the colons are not mandatory).

This kind of flags/comments is allowed (i.e. you can append it at the end of the line) in the declaration of variables, RW types/values and commands, i.e.:

<var.name>: <value>     #BAD
RW:<var.name>:STRING:<length>   #BAD: <reason>
RW:<var.name>:RANGE:"<min>" "<max>" #BAD: <reason>
RW:<var.name>:ENUM:"<enumerated value>"#BAD: <reason>
CMD:<command.name> #BAD
var.4

value

var.5

value

This variable can be set through upsrw to a string value upto the length of 32 characters.

var.6

value

This variable can be set through upsrw to one of the following values:

  • value

  • value2

  • value3

    Another #COMMENT: <comment> here..

var.7

value

var.8

value

This variable can be set through upsrw to a string value upto the length of 64 characters.

Still trying the #BAD comment

var.9

value

Just trying the End Of Line #COMMENT: <comment> comment

Known supported commands

This device is known to support the following NUT’s instant commands:

  • command.1

  • command.2

  • command.3

    Explanation of why this command is flagges as BAD

    As in .seq files, .nds files can simulate/record power events and the like through the ‘TIMER <seconds>’ instruction, e.g.:

    TIMER 300
    ups.status: OB DISCHRG
    TIMER 300
    ups.status: OB LB DISCHRG
    TIMER 60

    In DDL generation, after ‘TIMER <seconds>’ instruction, only comments are considered.

  • command.4

  • command.5

    Yet another #COMMENT: <comment>

About this device

Support level: 6 (out of 10)

Let’s use this comment to explain vars/commands declaration.

NUT variables are declared as:

<var.name>: <value>

RW variables are declared as:

RW:<var.name>:<type>:<options>

Where:

<var.name>

Name of the RW variable.

<type>

Type of the RW variable <var.name>, one of STRING, RANGE, ENUM.

<options>

Options of <type> for <var.name>, i.e.:

  • if <type> is STRING, maximum length of the settable string

    RW:<var.name>:STRING:<length>
  • if <type> is RANGE, minimum and maximum settable value for the range, each one enclosed in quotes and separated by a space ("<min>" "<max>")

    RW:<var.name>:RANGE:"<min>" "<max>"
  • if <type> is ENUM, settable enumerated value, enclosed in quotes ("<enumerated value>"):

    RW:<var.name>:ENUM:"<enumerated value>"

Commands are declared as:

CMD:<command.name>