Description

The NodeDefinition component allows the generalization of Nodes of the same "type" by creating a common definition. This forms part of the components also generically called "Definition". The NodeDefinition must be located in an Aspect. The most common NodeDefinitions found in BMS include:

  • Building
  • Floor
  • Trade
  • Service
  • Equipment

A NodeDefinition therefore contains Nodes.

Several NodeDefinitions can be linked to each other by relations to create consistency rules. We can thus define:

"Floor is in Building" by creating a b:isln relation between the NodeDefinition Floor and the NodeDefinition Building. Several relations exist and describe most scenarios.


Implementation

There are two ways of adding a NodeDefinition to the station

  • Via the DefinitionManager located on the aspect
  • Via the pallete, by dragging and dropping the component into an aspect.

When creating a NodeDefinition, fill in the following fields:

  • displayedName,
  • level

Then initialize the Definition by clicking on the manager button or by right clicking -> action -> init

 

The name of a NodeDefinition must not contain special characters.

Note: the name of a NodeDefinition cannot be modified once it is created (but its displayName can).


Properties

  • Status: State of the definition. Can be {ok}, {fault}, {disabled} or {null}. See the corresponding actions.
  • FaultCause: Message complementing the definition status (usually explaining the reason for an initialization failure)
  • DisplayedName: Display name for the definition. It is recommended this be used rather than the "Set Display Name" command
  • Description: Description of the definition
  • Level: The level of the definition in the definitions tree. The highest definition is level 1
  • ByDefault: Allows a default Node to be chosen from all the Nodes created for the definition. This list is used by the System Aspect when a SystemDefinition has an isln with a NodeDefinition
  • NodeDisplayNameFormat: The SFormat which will be used to create the children Nodes DisplayName. This value overrides the DisplayedName value in the children Nodes

 

To change the OverrideTagName property, it is necessary to clean the definition (Action Clean). Note that data will be lost during this operation and in particular the assignment of sources to the Nodes of the definition.

 

Advanced configuration properties

  • OverrideTagName: A tag is created for each definition with the default name of the definition. It may be overridden by specifying a name in this property.
  • AllowRecursivity: Allows several interconnected child Nodes via an isln relation for the same definition (these Nodes will therefore be of the same level). Example with a Zone definition. It is possible to add zones within zones. It's more difficult for buildings!
  • EnableLocalMultiAssignment: Enables the assignment of a source to multiple Nodes of the same tree.
  • SyncUp: Enables the propagation of the definition and its children Definitions and Nodes with the niagara stations in the NiagaraNetwork which have the Supervisor role.
  • SyncDown: Enables the propagation of the definition and its children Definitions and Nodes with the niagara stations in the NiagaraNetwork which have the Subordinate role.



Actions

  • Initialize: Initializes the definition and all its children (Definitions, Nodes, Add-ons, etc.) and descendants (definitions linked in OUT by an isln or multilsln relation). The state of the definition can change to {ok}, or {fault} if initialization fails.
  • Disable: Disables the definition and all of its children and descendants. Changes the status of the definition to {disabled}. This will delete all the tags in which it appears. This action is reversible by reluanching the initialization.
  • Clean: Cleans the definition and all of its children and descendants. The state of the definition changes to {null}. This action is irreversible and must be launched before permanently deleting a definition (it allows all references to this definition to be cleanly deleted).
  • Resetld: Reset the id of all child Nodes.
  • Synchronize: Propagates this definiton and all its Nodes and descendants to the connected stations.