ISY Developers:API:V5:NLS:Formatting for Programs
ISY_Developers : API : V5 : National Language Support (NLS) : Formatting for Programs
Formatting in Programs
Each line of a program is formatted and displayed in different way. Custom formatting entries in the NLS file(s) are used for node conditions and commands, as follows:
Commands
The format and lookup order of the NLS entry for program command entries is:
PGM-CMD-<nodedef.nls>-<cmd.id>-FMT | |
PGM-CMD-<cmd.id>-FMT |
e.g. (All on one line)
PGM-CMD-DON-FMT = /level/${c}/to ${v}/ /ramprate// in ${v}/ /offtimer//, turn off ${v} later/ |
/<param.id>/param text if omitted/param text if not omitted/ [.. next parameter, …]
e.g. /level/${c}/to ${v}/ /ramprate// in ${v}/ |
/ | |
First character defines what character to use as separator, normally '/' is used | |
param.id | |
Id of the parameter (e.g. 'level')
This is blank for an unnamed parameter | |
param text if omitted | |
String to show if the parameter was omitted | |
param text if not omitted | |
String to show if the parameter was specified |
The string for parameter text supports the following variables:
${c} | Name of the command | |
${v} | Formatted value of the parameter (including UOM) | |
${vo} | Formatted value of the parameter (without UOM) | |
${uom} | Formatted UOM without the value | |
${op} | Operator used (conditions only) |
Command Formatting Examples
Assume commands are for node 'MyDevice'
1) A command with three named parameters, 'num', 'val', 'len'
/num//${c} Parameter ${v}/ /val/ default/ = ${v}/ /len// (${v} bytes)/
The following program action line would be shown for:
${c} = "Config", num=1, val=20, and len=4: | |
[Config Parameter 1][ = 20][ (4 bytes)] | |
--> "Set 'MyDevice' Config Parameter 1 = 20 (4 bytes)" | |
${c} = "Config", num=5, val=25, and len omitted: | |
[Config Parameter 5][ = 25][] | |
--> "Set 'MyDevice' Config Parameter 5 = 25" | |
${c} = "Device", num=5, val omitted, and len=2: | |
[Device Parameter 5][ default][ (2 bytes)] | |
--> "Set 'MyDevice' Device Parameter 5 default (2 bytes)" | |
2) A command with one unnamed parameter
//default/${v}/ | ||
result if unnamed parameter omitted: | [default] --> "Set 'MyDevice' default" | |
result if unnamed parameter = 50 percent: | [50%] --> "Set 'MyDevice' 50%" |
3) A command with no parameters shows just the command name and does not require a PGM-xxxxx entry
DFON --> "Set 'MyDevice' Fast On" |
Another example:
PGM-CMD-DON-FMT = /level/${c}/to ${v}/ /ramprate// in ${v}/ /offtimer//, turn off ${v} later/ | |
level=50%, ramprate=3 seconds, offtimer=5 minutes | |
"[to 50%][ in 3 seconds][, turn off 5 minutes later]" | |
--> "Set 'MyDevice' to 50% in 3 seconds, turn off 5 minutes later" |
Status Conditions
The format and lookup order of the NLS entry for status condition format entries is:
PGM-ST-<nodedef.nls>-<st.id>-FMT | |
PGM-ST-<st.id>-FMT |
The value is a single param text string similar to that specified for a command parameter.
e.g. |
PGM-ST-CLISPH-FMT = ${c} ${op} ${v} |
If not specified, then the following is used: ${c} ${op} ${v}
Control Conditions
There are currently no custom entries for control conditions because control conditions do not include any of the command parameters.