Skip to main content
A concentrator is a “thing of things”: one XMPP identity representing many physical or virtual nodes organized into data-source trees.

Discovery operations

Clients can:
  • query capabilities;
  • list all, root, or child data sources;
  • test whether a node exists;
  • get one or many nodes;
  • list root/child/ancestor nodes and inheritance;
  • localize node parameters and messages.
Use paged or hierarchical traversal. getAllNodes can be inappropriate for a large industrial deployment.

Node management

When supported, the interface exposes editable parameters, common parameters across nodes, addable node types, new-node creation, deletion, and move up/down operations. Before editing, request the form/schema for the exact node type. Optimistic updates should include the version or timestamp returned by the concentrator where available.

Commands and queries

Nodes can expose commands. A command can be immediate, parameterized, or a long-running query with progress and abort operations. Treat query IDs as scoped to the concentrator and authenticated account.

Events

Subscribe to structural events:
Reconcile from the server after reconnect because an event stream can have gaps.

Troubleshooting sniffers

The concentrator interface can register a remote sniffer for a node where permitted. Captures can contain device data and credentials; require an operator privilege, limit duration, and record who enabled it.

Stable client cache

Key cached nodes by full extended address. Store display name, node type, capabilities, status, and last update separately. A move changes tree position, not necessarily node identity.