ISY Developers:API:V5:NLS:Language Support

From Universal Devices, Inc. Wiki


ISY_Developers : API : V5 : National Language Support (NLS)

National Language Support (NLS)

NLS support is defined for a node server by the set of properties files in the /nls subdirectory. The files contain the name/value pairs used by the clients and the ISY to display commands, values, controls etc.. All NLS names must be in uppercase.

A naming convention is used to organize these values.

Naming Convention Terminology

The following table shows the various attributes from XML node definitions, and editors that are used in this chapter to describe how to build the name of a particular NLS value.

<node.nls> The 'nls' attribute specified when adding or changing a node.

e.g. /rest/ns/5/nodes/n005_dimmer_2/add/MyDimmer?primary=n005_dimmer_1&name=Dimmer 2&nls=012B

<nodedef.id> The 'id' attribute of a node definition.

e.g. <nodeDef id="Thermostat" nls="tstat">

<nodedef.nls> The 'nls' attribute of a node definition.

e.g. <nodeDef id="Thermostat" nls="tstat">

<editor.id> The 'id' attribute of an editor

e.g <editor id="I_OL">

<range.nls> The 'nls' attribute of a range

e.g. <range uom="25" subset="0-32" nls="IX_I_RR" />

<st.id> The 'id' attribute of a status

e.g. <st id="CLIHUM" editor="I_TSTAT_HUM" />

<cmd.id> The 'id' attribute of a command

e.g. <cmd id="DON">

<p.id> The 'id' attribute of a command parameter e.g.

Programs

See Formatting for Programs

Device name

The same node definition may be used for different products/models of a device. For example, there may be many different models of a dimmer lamp, but they are functionally equivalent and therefore use the same node definition. The device name is used to specify the actual product name/model etc. of the device for a specific node.

DEV-<node.nls>-NAME

e.g.
    DEV-0102-NAME = (2475D) In-LineLinc Dimmer

Icons

The format and lookup order of the NLS entry for icons is:

DEV-<node.nls>-ICON
NDN-<nodedef.nls>-ICON
ND-<nodedef.id>-ICON
e.g.
    DEV-0341-ICON = Thermostat
    NDN-TStat-ICON = Thermostat
    ND-MyThermostat-ICON = Thermostat

See Icons for the list of supported icons

Status Names

Some status values require different names for different node definitions. For example, ST for a dimmer should show up as 'Lamp', but ST for a drapery motor should show up as 'Drapes'. The format and lookup order of the NLS entry is:

ST-<nodedef.nls>-<st.id>-NAME
GEN-<nodedef.nls>-<st.id>-NAME
ST-<st.id>-NAME
e.g.
    ST-ST-NAME = Lamp
    ST-MYDRAPES-ST-NAME = Drapes


Command Names

The format and lookup order of the NLS entry for command names is:

CMD-<nodedef.nls>-<cmd.id>-NAME
CMD-<cmd.id>-NAME

e.g.
    CMD-DON-NAME = On
    CMD-MYDRAPES-DON-NAME = Open

Command Parameter Names

The format and lookup order of the NLS entry for command parameter names is:

GEN-<p.nls>-NAME
CMDP-<nodedef.nls>-<editor.id>-<p.id>-NAME
CMDPN-<nodedef.nls>-<p.id>-NAME
GEN-<nodedef.nls>-<p.id>-NAME
CMDP-<editor.id>-<p.id>-NAME
CMDP-<p.id>-NAME

e.g.
    GEN-MYTIMER001-NAME = On/Off Timer

Node Definition

ND-<nodedef.id>-NAME

Name mapped Values (Index, Percent)

Some integer values may be displayed as names instead of numeric values. Index values (uom 25), and some percent values are commonly made into names. For example, displaying the values 0-31 for Insteon Ramp Rates is not very meaningful compared to names indicating the actual durations. 'On' and 'Off' are often displayed for percentage values, while the remaining values 1-99 are usually displayed numerically.

The format of the NLS entry for mapped values is:

<range.nls>-<value>

e.g.  Insteon Ramp Rates

<range id="I_RR" uom="25" subset="0-31" nls="IX_I_RR" />

    IX_I_RR-0 = 9.0 minutes
    IX_I_RR-1 = 8.0 minutes
      ...
    IX_I_RR-31 = 0.1 seconds