Namespace

A namespace organizes sources of data into a logical hierarchy. A common use of namespaces is to organize an ISA-95 hierarchy of sites, areas, and lines and then populate this with modeled data like motors, machines, and other assets.

Once a namespace is built the Smart Query Stage in pipelines is used to query the namespace, either in logical parts or as a whole. For example, a smart query can read all the motors in the namespace and publish the data to MQTT using the namespace hierarchy as the topic path.

Creating a Namespace

namespace_create.png

  1. Navigate to Namespaces
    • Click Namespaces in the configuration’s Main Menu to open up the namespace
    • There is only one namespace but the namespace can have multiple root nodes
  2. Add Namespace Nodes
    • Click the + icon at the top of the tree.
    • Enter the name of the node in the tree and hit Enter to add the node. Namespace node names support alphanumeric characters, spaces, dashes, and underscores.
    • Continue to add and name nodes, either at the root of the tree or by building hierarchy
    • Note: that nodes are saved as they are added
  3. Add a source of data to the namespace (Currently Inputs, Instances, and Callable Pipelines are supported)
    • Drag and Drop - Sources can be dragged from the reference panel on the right
      • Drag a source on to the Drop Reference area of an existing node to update it’s source
      • Drag a source in to the tree to create a new node with that source at that position
  4. Reorder the namespace
    • Nodes can be reordered within the namespace by dragging the node to a new position

HighByte Namespace

The HighByte namespace node that is automatically populated with project references to make it easier to access source data through the Namespace. This namespace includes:

  • Connections and Inputs - References to configured data sources
  • Conditions - Configured conditions for pipeline logic
  • Instances - Model instances and their data
  • Pipelines - Callable pipelines available for execution
  • System - System metrics and statistics

highbyte_node.png

The HighByte namespace is particularly useful when working with Central Data and Remote Mapping, as it provides a consistent way to access configuration data across multiple hubs.

By default, the HighByte namespace is enabled. You can enable or disable this feature in Application Settings - Configuration.

Smart Query

Smart queries allow you to dynamically query the namespace to read only the data you need. See the Smart Query Stage for details on the smart query stage.

References

Each namespace can reference one source. For more information on using References see: References

In 4.1 and older versions, namespace node parameters were passed as JSON. When upgrading to 4.2 or newer versions, the parameter syntax is now better defined and easier to use. In cases where you were passing parameters to a namespace node that referenced a Pipeline, the 4.1 syntax for will continue to work, but you’ll need to manually migrate the syntax to use the new format. Below is a step-by-step guide on how to perform this migration.

Identify Nodes that Need Migration

If a node is using the old syntax, you’ll see this warning in the UI when selecting the node.

migration warning

How to Migrate the Syntax

Follow these steps to migrate to the new parameters’ syntax.

  1. Go to the Pipeline and create a Callable Trigger.
  2. Enable the trigger and add the parameters in the trigger settings.
  3. Go back to the namespace node, you should now be able to “upgrade” the parameters (see image below)
  4. You should now see the parameters you defined on the trigger, and can fill them in accordingly
  5. Save, and perform a smart query test on the node to ensure it’s working as expected

upgrade parameters