Type object
File match *.ndst.yml *.ndst.yaml *.ndst.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/netin-diagnostic-system-template/latest.json
Source https://s3.eu-central-1.amazonaws.com/files.netin.io/spider-schemas/template.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

NetinDS device configuration template, defines the drivers used to collect the datapoints and the transformations and alarms to be applied to these datapoints

Properties

origin string required

Monitored system, subsystem, device or ... source of the datapoint

pattern=^\/\{[a-zA-Z0-9-_.]{1,80}\}\/$|^[a-zA-Z0-9-_.]{1,80}$
templateId string required

Template identification string

pattern=^[a-zA-Z0-9-_ ]{1,80}$
templateVersion string required

SemVer style template version See the documentation

Examples: "1.5.2", "7.5.3", "7.5.3-test"
pattern=(?<=^v?|\sv?)(?:(?:0|[1-9][0-9]*).){2}(?:0|[1-9][0-9]*)(?:-(?:0|[1-9][0-9]*|[0-9a-z-]*[a-z-][0-9a-z-]*)(?:.(?:0|[1-9][0-9]*|[0-9a-z-]*[a-z-][0-9a-z-]*))*)?(?:\+[0-9a-z-]+(?:.[0-9a-z-]+)*)?\b
description string required

Detailed information about the device or system to be monitored by this device

minLength=1maxLength=800
datapointSets datapointSetConfigDef[] required
minItems=1
schemaVersion string

SemVer style template schema version See the documentation

Examples: "1.5.2", "7.5.3", "7.5.3-test"
pattern=(?<=^v?|\sv?)(?:(?:0|[1-9][0-9]*).){2}(?:0|[1-9][0-9]*)(?:-(?:0|[1-9][0-9]*|[0-9a-z-]*[a-z-][0-9a-z-]*)(?:.(?:0|[1-9][0-9]*|[0-9a-z-]*[a-z-][0-9a-z-]*))*)?(?:\+[0-9a-z-]+(?:.[0-9a-z-]+)*)?\b
rangerFilter object

Tags used by Ranger to match discoverd devices with their respective templates

3 nested properties
deviceID string

Regular expression for PROFINET device identification field in hexadecimal format

Examples: "0x0A01", "0x0A0B"
vendorID string

Regular expression for PROFINET manufacturer identification field in hexadecimal format

Examples: "0x002A"
description string

Regular expression for SNMP sysDescr OID (1.3.6.1.2.1.1.1) device description

Examples: "SIMATIC NET, SCALANCE X2"
minLength=1maxLength=800
alias string

Alias name for the template

Examples: "SCALANCE XC-200", "SCALANCE X-200"
minLength=1maxLength=80
originTypes originTypeConfigDef[]

Origin types (drivers)

minItems=1uniqueItems=true
representation representationDef[]
minItems=1

Definitions

schemaVersionDef string

SemVer style template schema version See the documentation

Examples:
  • "1.5.2"
  • "7.5.3"
  • "7.5.3-test"
originDef string

Monitored system, subsystem, device or ... source of the datapoint

templateIdDef string

Template identification string

templateVersionDef string

SemVer style template version See the documentation

Examples:
  • "1.5.2"
  • "7.5.3"
  • "7.5.3-test"
descriptionDef string

Detailed information about the device or system to be monitored by this device

rangerFilterDef object

Tags used by Ranger to match discoverd devices with their respective templates

deviceID string

Regular expression for PROFINET device identification field in hexadecimal format

Examples: "0x0A01", "0x0A0B"
vendorID string

Regular expression for PROFINET manufacturer identification field in hexadecimal format

Examples: "0x002A"
description string

Regular expression for SNMP sysDescr OID (1.3.6.1.2.1.1.1) device description

Examples: "SIMATIC NET, SCALANCE X2"
minLength=1maxLength=800
originTypeDef string

Driver (Origin type) identification string for the driver

originTypeConfigDef object

Driver (Origin type) configuration object. Check the specific documentation for each driver

originType string required

Driver (Origin type) identification string for the driver

pattern=^[a-zA-Z0-9-]{1,80}$
datapointSetTypeDef string

Define the data structure of this datapointSet, check the documentation for more information

datapointSetIdDef string

DatapointSet identification string

tableAddressDef object

Specific configuration for tabled based datapointSets

rootAddress string

Main address for the table, this information is specific for each kind of driver

maxLength=240
indexes string[]

Array of datapointIds that will act as table indexes, this means columns that acts as keys of the table

broadcastDef boolean

Flag to indicate that the alarm/datapointSet will be broadcasted to NetinHUB channels

routingDef object
topic string required

Define the topic that should be used to transport the data

maxLength=80
service string

Define the service that should consume the information

maxLength=80
serviceConfig object

Object to define the specific configuration of the service

dataTypeDef string

Define the type of the data in the NetinDS context, this means how NetinDS will manage the data before the conversions

originDataTypeDef string

Define the type of the data in the driver context, this means how the type of data that driver expect to collect

originAddressDef string

Define the address of this datapoint. This is specific for each driver

originAccessTypeDef string

Access level to the datapoint. This is specific for each driver

receiveModeDef string

Define how the driver should get the value of this datapoint. This is specific for each driver

pollingGroupDef string

Frequency in which the driver should update the value of this datapoint. This is specific for each driver

datapointTypeDef string

Define the kind of information types, within NetinDS context, that the driver/zavod instances will generate for this datapoint

datapointIdDef string

Datapoint identification string

symbolDef string

Identification string for logic expression

expressionDef string

Expression to be evaluated by NetinDS-Zavod

Examples:
  • "(^(5|[5-9]\d*)\.(3|[3-9]\d*)\.(0|[1-9]\d*)?$).test(datapoint.value)"
  • "datapoint.rawValue"
expressionLogicObjectDef object

Expressions that will be checked in this evaluation

expression string required

Expression to be evaluated by NetinDS-Zavod

Examples: "(^(5|[5-9]\d*)\.(3|[3-9]\d*)\.(0|[1-9]\d*)?$).test(datapoint.value)", "datapoint.rawValue"
minLength=1maxLength=800
symbol string required

Identification string for logic expression

minLength=1
severityDef integer

Level of criticality of the alarm

severityForAlarmsDef integer

Level of criticality of the alarm

severityForLogsDef integer

Level of criticality of the alarm

textDef string

Alarm/event descriptive text

auditedDef boolean

Flag indication for audit process

hiddenDef boolean

Flag to indicate that the alarm is hidden by user request

facilityDef integer

Ident number for the resource group

logicDef string

Logic operation to be applied between all the expressions

Examples:
  • "evalID1 & evalID2"
evaluationForLogsDef object

Array with all the evaluations that will be checked

expressions expressionLogicObjectDef[] required

Array of logical expression than should return a boolean value

logic string required

Logic operation to be applied between all the expressions

Examples: "evalID1 & evalID2"
minLength=1maxLength=80
severity integer required

Level of criticality of the alarm

min=1max=200
text string required

Alarm/event descriptive text

minLength=1maxLength=800
textHelp string required

Alarm/event descriptive text

minLength=1maxLength=800
onStartup boolean required

Indicates wether the alert must be sent when the conditions are met from the beginning

audited boolean required

Flag indication for audit process

hidden boolean required

Flag to indicate that the alarm is hidden by user request

broadcast boolean required

Flag to indicate that the alarm/datapointSet will be broadcasted to NetinHUB channels

facility integer required

Ident number for the resource group

min=-1max=255
routing object
3 nested properties
topic string required

Define the topic that should be used to transport the data

maxLength=80
service string

Define the service that should consume the information

maxLength=80
serviceConfig object

Object to define the specific configuration of the service

evaluationForAlarmsDef object

Array with all the evaluations that will be checked

expressions expressionLogicObjectDef[] required

Array of logical expression than should return a boolean value

logic string required

Logic operation to be applied between all the expressions

Examples: "evalID1 & evalID2"
minLength=1maxLength=80
severity integer required

Level of criticality of the alarm

min=201max=1000
text string required

Alarm/event descriptive text

minLength=1maxLength=800
textHelp string required

Alarm/event descriptive text

minLength=1maxLength=800
onStartup boolean required

Indicates wether the alert must be sent when the conditions are met from the beginning

audited boolean required

Flag indication for audit process

hidden boolean required

Flag to indicate that the alarm is hidden by user request

broadcast boolean required

Flag to indicate that the alarm/datapointSet will be broadcasted to NetinHUB channels

facility integer required

Ident number for the resource group

min=-1max=255
routing object
3 nested properties
topic string required

Define the topic that should be used to transport the data

maxLength=80
service string

Define the service that should consume the information

maxLength=80
serviceConfig object

Object to define the specific configuration of the service

valueDef string | number | boolean | array | object

Value or rawValue of a datapoint

commonConfigDef object

Datapoint common configuration object

datapointType string required

Define the kind of information types, within NetinDS context, that the driver/zavod instances will generate for this datapoint

Values: "SIMPLE" "TIMEPOINT" "DATAPOINT" "@DATAPOINT" "@TIMEPOINT" "#DATAPOINT" "#TIMEPOINT"
datapointId string required

Datapoint identification string

pattern=^[a-zA-Z0-9#&_-]{1,80}$
alias string

Alias name for the datapoint, used as representation label

Examples: "Packets errors", "Partner"
minLength=1maxLength=80
description string

Detailed information about the datapoint

Examples: "Number of packets dropped for error", "Name of the partner"
minLength=0maxLength=1200
syntaxInfo string

Description about the syntax of this datapoints values

minLength=0maxLength=1200
additionalProperties
addressConfigDef object

(Datapoint address configuration object)[https://docs.netin.io/netin_webUI/NetinDS/templates/#addressconfig]

dataType string required

Define the type of the data in the NetinDS context, this means how NetinDS will manage the data before the conversions

Values: "BYTE" "INTEGER" "LONG" "FLOAT" "DOUBLE" "STRING" "BOOLEAN" "DATE" "ARRAY" "INTEGER_ARRAY" "STRING_ARRAY" "DOUBLE_ARRAY" "BOOLEAN_ARRAY" "FLOAT_ARRAY" "LONG_ARRAY" "OBJECT"
originType string required

Driver (Origin type) identification string for the driver

pattern=^[a-zA-Z0-9-]{1,80}$
originDataType string required

Define the type of the data in the driver context, this means how the type of data that driver expect to collect

pattern=^[a-zA-Z0-9-_]{1,80}$
originAddress string required

Define the address of this datapoint. This is specific for each driver

pattern=^[\w0-9_&#:$.-]{1,80}$
originAccessType string required

Access level to the datapoint. This is specific for each driver

Values: "read-only" "write-only" "read-write" "not-accessible"
receiveMode string required

Define how the driver should get the value of this datapoint. This is specific for each driver

Values: "polling" "singleQuery" "subscription"
pollingGroup string required

Frequency in which the driver should update the value of this datapoint. This is specific for each driver

Values: "5s" "10s" "30s" "1m" "5m" "10m" "15m" "30m" "1h" "4h" "6h" "12h" "1d"
alertConfigDef object

Allows to configure trigger of alarms and events depending on the datapoint values

calcConfig object

Allows to create new datapoints based on an expression

expression string required

Expression to be evaluated by NetinDS-Zavod

Examples: "(^(5|[5-9]\d*)\.(3|[3-9]\d*)\.(0|[1-9]\d*)?$).test(datapoint.value)", "datapoint.rawValue"
minLength=1maxLength=800
convConfigDef object

Allows to apply enrichment expressions on the value field

expression string required

Expression to be evaluated by NetinDS-Zavod

Examples: "(^(5|[5-9]\d*)\.(3|[3-9]\d*)\.(0|[1-9]\d*)?$).test(datapoint.value)", "datapoint.rawValue"
minLength=1maxLength=800
defaultValueConfigDef object

Allows to apply default values to a datapoint when the value or rawValue is null

isDefault boolean

Flag to indicate that the value is used as substitution value

rawValue string | number | boolean | array | object

Value or rawValue of a datapoint

value string | number | boolean | array | object

Value or rawValue of a datapoint

rowFilterConfigDef object

Allows row filtering in table based datapointSets

Array of logical expression than should return a boolean value

logic string

Logic operation to be applied between all the expressions

Examples: "evalID1 & evalID2"
minLength=1maxLength=80
unitsConfigDef object

Allows converts between measure units

from string

Actual measure units

Examples: "m", "g"
to string

Desired measure units

Examples: "m", "g"
toBest boolean

Select the measure unit that best fit

exclude string[]

Array of excluded measure units, when toBest is enabled

units boolean

Flag to indicate that the unit of measure must indicated

valueMapConfigDef object

Allows converts rawValue to value based in a key/value map

map object[] required

Key/Value map with the conversion options

datapointConfigDef Record<string, object>

Object that define a complete datapoint configuration

addressConfig object

(Datapoint address configuration object)[https://docs.netin.io/netin_webUI/NetinDS/templates/#addressconfig]

7 nested properties
dataType string required

Define the type of the data in the NetinDS context, this means how NetinDS will manage the data before the conversions

Values: "BYTE" "INTEGER" "LONG" "FLOAT" "DOUBLE" "STRING" "BOOLEAN" "DATE" "ARRAY" "INTEGER_ARRAY" "STRING_ARRAY" "DOUBLE_ARRAY" "BOOLEAN_ARRAY" "FLOAT_ARRAY" "LONG_ARRAY" "OBJECT"
originType string required

Driver (Origin type) identification string for the driver

pattern=^[a-zA-Z0-9-]{1,80}$
originDataType string required

Define the type of the data in the driver context, this means how the type of data that driver expect to collect

pattern=^[a-zA-Z0-9-_]{1,80}$
originAddress string required

Define the address of this datapoint. This is specific for each driver

pattern=^[\w0-9_&#:$.-]{1,80}$
originAccessType string required

Access level to the datapoint. This is specific for each driver

Values: "read-only" "write-only" "read-write" "not-accessible"
receiveMode string required

Define how the driver should get the value of this datapoint. This is specific for each driver

Values: "polling" "singleQuery" "subscription"
pollingGroup string required

Frequency in which the driver should update the value of this datapoint. This is specific for each driver

Values: "5s" "10s" "30s" "1m" "5m" "10m" "15m" "30m" "1h" "4h" "6h" "12h" "1d"
commonConfig object

Datapoint common configuration object

6 nested properties
datapointType string required

Define the kind of information types, within NetinDS context, that the driver/zavod instances will generate for this datapoint

Values: "SIMPLE" "TIMEPOINT" "DATAPOINT" "@DATAPOINT" "@TIMEPOINT" "#DATAPOINT" "#TIMEPOINT"
datapointId string required

Datapoint identification string

pattern=^[a-zA-Z0-9#&_-]{1,80}$
alias string

Alias name for the datapoint, used as representation label

Examples: "Packets errors", "Partner"
minLength=1maxLength=80
description string

Detailed information about the datapoint

Examples: "Number of packets dropped for error", "Name of the partner"
minLength=0maxLength=1200
syntaxInfo string

Description about the syntax of this datapoints values

minLength=0maxLength=1200
additionalProperties
alertConfig object

Allows to configure trigger of alarms and events depending on the datapoint values

1 nested properties
calcConfig object

Allows to create new datapoints based on an expression

1 nested properties
expression string required

Expression to be evaluated by NetinDS-Zavod

Examples: "(^(5|[5-9]\d*)\.(3|[3-9]\d*)\.(0|[1-9]\d*)?$).test(datapoint.value)", "datapoint.rawValue"
minLength=1maxLength=800
convConfig object

Allows to apply enrichment expressions on the value field

1 nested properties
expression string required

Expression to be evaluated by NetinDS-Zavod

Examples: "(^(5|[5-9]\d*)\.(3|[3-9]\d*)\.(0|[1-9]\d*)?$).test(datapoint.value)", "datapoint.rawValue"
minLength=1maxLength=800
defaultValueConfig object

Allows to apply default values to a datapoint when the value or rawValue is null

Any of: variant, variant, variant
3 nested properties
isDefault boolean

Flag to indicate that the value is used as substitution value

rawValue string | number | boolean | array | object

Value or rawValue of a datapoint

value string | number | boolean | array | object

Value or rawValue of a datapoint

rowFilterConfig object

Allows row filtering in table based datapointSets

2 nested properties

Array of logical expression than should return a boolean value

logic string

Logic operation to be applied between all the expressions

Examples: "evalID1 & evalID2"
minLength=1maxLength=80
unitsConfig object

Allows converts between measure units

Any of: variant, variant
5 nested properties
from string

Actual measure units

Examples: "m", "g"
to string

Desired measure units

Examples: "m", "g"
toBest boolean

Select the measure unit that best fit

exclude string[]

Array of excluded measure units, when toBest is enabled

units boolean

Flag to indicate that the unit of measure must indicated

valueMapConfig object

Allows converts rawValue to value based in a key/value map

1 nested properties
map object[] required

Key/Value map with the conversion options

datapointSetConfigDef object
datapointSetType string required

Define the data structure of this datapointSet, check the documentation for more information

Values: "map" "tableStatic" "tableDynamic"
datapointSetId string required

DatapointSet identification string

pattern=^[a-zA-Z0-9_-]{1,40}$
alias string required

Alias name for the datapointSet, used as representation label

Default: "none"
Examples: "Port information"
minLength=1maxLength=80
description string required

Detailed information about the datapoint set

Default: "none"
Examples: "Information and statistics about the ethernet interfaces"
minLength=0maxLength=1200
datapoints datapointConfigDef[] required

Array of datapoints for this datapoint set

minItems=1
tableAddress object

Specific configuration for tabled based datapointSets

2 nested properties
rootAddress string

Main address for the table, this information is specific for each kind of driver

maxLength=240
indexes string[]

Array of datapointIds that will act as table indexes, this means columns that acts as keys of the table

broadcast boolean

Flag to indicate that the alarm/datapointSet will be broadcasted to NetinHUB channels

routing object
3 nested properties
topic string required

Define the topic that should be used to transport the data

maxLength=80
service string

Define the service that should consume the information

maxLength=80
serviceConfig object

Object to define the specific configuration of the service

representationDataDef string

Datapoints that widget will use for representation

Examples:
  • "device[deviceInfo]"
  • "device[deviceInfo.deviceSatate]"
  • "device[pnioAPIs.0.cmInitiatorStationName]"
representationMapConfigDef object

Specific configuration for map widget representation

format object[] required

Representation for each row

minItems=1
representationTableConfigDef object

Specific configuration for Table widget representation

format object[] required

Representation for each column

minItems=1
pageSize number

Rows number for each page

Examples: 6, 7, 9
min=2max=10
filterable boolean

Indicates if the columns should have filters

representationMetricConfigDef object

Specific configuration for metric widget representation

url string

Define url to opened on click event

Examples: "http://${device[origin]}"
titleEnabled boolean

Indicate if tittle should be shown

urlEnabled boolean

Indicate if event click must be enable

lastUpdateEnabled boolean

Indicate if timestamp should be shown

representationGaugeConfigDef object

Specific configuration for gauge widget representation

format object[] required

Representation for each gauge value

minItems=1
maxValue number required

Define the gauge maximum value

Examples: 6, 72, 90
minValue number required

Define the gauge minimum value

ranges object[]

Value ranges representation

representationCommonConfigDef object

Common fields for grid representation

firstRow integer required

Define de position of the widget, first row

Examples: 1, 3, 4
min=1
firstColumn integer required

Define de position of the widget, first column

Examples: 1, 4, 5
min=1max=8
widgetWidth integer required

Define de size of the widget, width

Examples: 2, 4, 6
min=1max=8
widgetHeight integer required

Define de size of the widget, height

Examples: 5, 2, 3
min=1
widgetType string required

Select widget type

Values: "map" "table" "metric" "gauge"
Examples: "map", "table"
widgetTitle string required

Text for widget title

Examples: "Device Info", "PNIO-Fault"
minLength=1maxLength=800
representationDef object

What, where and how information show in device view

data string

Datapoints that widget will use for representation

Examples: "device[deviceInfo]", "device[deviceInfo.deviceSatate]", "device[pnioAPIs.0.cmInitiatorStationName]"
pattern=^device\[[a-zA-Z0-9_-]{1,40}((\.[0-9]+)?\.[a-zA-Z0-9#&_-]{1,80})?\]$
commonConfig object

Common fields for grid representation

6 nested properties
firstRow integer required

Define de position of the widget, first row

Examples: 1, 3, 4
min=1
firstColumn integer required

Define de position of the widget, first column

Examples: 1, 4, 5
min=1max=8
widgetWidth integer required

Define de size of the widget, width

Examples: 2, 4, 6
min=1max=8
widgetHeight integer required

Define de size of the widget, height

Examples: 5, 2, 3
min=1
widgetType string required

Select widget type

Values: "map" "table" "metric" "gauge"
Examples: "map", "table"
widgetTitle string required

Text for widget title

Examples: "Device Info", "PNIO-Fault"
minLength=1maxLength=800