System — Metadata

View as Markdown

Subscribe to System metadata for all System point types.

Direction: Subscribe (receive)

Channel

BMS/v1/PUB/Metadata/System/{pointType}/{tagPath}

BMS-published metadata for all System point types.

MQTT wildcard examples

  • All System metadata: BMS/v1/PUB/Metadata/System/#

Parameters

ParameterDescription
pointTypeSystem point type. Values: HeartbeatTimestampBms, HeartbeatEchoBms, HeartbeatTimestampIntegration, HeartbeatEchoIntegration, Status, Available … (7 total)
tagPathVendor-defined hierarchical tag path.

Message: HeartbeatTimestampBms Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesCanonical object type. Matches the objectType MQTT topic segment.
pointTypestringYesValues: HeartbeatTimestampBms
objectNamestringYesHuman-readable name of the BMS publishing this heartbeat.
objectIdstringYesStable identifier for the BMS publishing this heartbeat (e.g., "BMS"). One instance per BMS.
scopestringNoIdentifies which MQTT topics this heartbeat covers.
1{
2 "objectType": "string",
3 "pointType": "HeartbeatTimestampBms",
4 "objectName": "string",
5 "objectId": "string",
6 "scope": "string"
7}

Message: HeartbeatEchoBms Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesCanonical object type. Matches the objectType MQTT topic segment.
pointTypestringYesValues: HeartbeatEchoBms
objectNamestringYesHuman-readable name of the integration whose timestamp is being echoed.
objectIdstringYesStable identifier of the integration whose timestamp is being echoed (e.g., "MEPAI1"). Matches that integration’s integration metadata value on its other points.
scopestringNoOptional. Identifies which BMS MQTT-client/topic namespace this echo is associated with.
1{
2 "objectType": "string",
3 "pointType": "HeartbeatEchoBms",
4 "objectName": "string",
5 "objectId": "string",
6 "scope": "string"
7}

Message: HeartbeatTimestampIntegration Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesCanonical object type. Matches the objectType MQTT topic segment.
pointTypestringYesValues: HeartbeatTimestampIntegration
integrationstringYesIntegration identifier.
objectNamestringYesHuman-readable name of the integration publishing this heartbeat.
objectIdstringYesStable identifier of the integration publishing this heartbeat (e.g., "MEPAI1"). By convention, matches the integration metadata value used by this integration on its other points.
1{
2 "objectType": "string",
3 "pointType": "HeartbeatTimestampIntegration",
4 "integration": "string",
5 "objectName": "string",
6 "objectId": "string"
7}

Message: HeartbeatEchoIntegration Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesCanonical object type. Matches the objectType MQTT topic segment.
pointTypestringYesValues: HeartbeatEchoIntegration
integrationstringYesIntegration identifier.
objectNamestringYesHuman-readable name of the BMS whose timestamp is being echoed.
objectIdstringYesStable identifier of the BMS whose timestamp is being echoed (e.g., "BMS").
1{
2 "objectType": "string",
3 "pointType": "HeartbeatEchoIntegration",
4 "integration": "string",
5 "objectName": "string",
6 "objectId": "string"
7}

Message: System Status Metadata

Content Type: application/json

Payload

Optional fields common to all generic equipment metadata, regardless of identifier mode.

Object Mode

  • objectName and objectId are required.
  • servesId is optional in Named-object mode.
  • associateId must not be present.

Incompatible with EquipmentAssociateMode — validators enforce this via the parent oneOf.

NameTypeRequiredDescription
objectNamestringYesHuman-readable equipment name.
objectIdstringYesStable unique identifier for the equipment.
servesIdarray<string>NoOptional list of objectIds of entities this equipment serves. Only valid in Named-object mode. Only valid in Named-object mode — must not appear in Associate mode.

Associate Mode

  • associateId is required.
  • objectName, objectId, and servesId must not be present.

Incompatible with EquipmentNamedObjectMode — validators enforce this via the parent oneOf.

NameTypeRequiredDescription
associateIdstringYesIdentifier of the associated entity.
1{
2 "objectName": "string",
3 "objectId": "string",
4 "servesId": [
5 "string"
6 ]
7}

Message: System Available Metadata

Content Type: application/json

Payload

Optional fields common to all generic equipment metadata, regardless of identifier mode.

Object Mode

  • objectName and objectId are required.
  • servesId is optional in Named-object mode.
  • associateId must not be present.

Incompatible with EquipmentAssociateMode — validators enforce this via the parent oneOf.

NameTypeRequiredDescription
objectNamestringYesHuman-readable equipment name.
objectIdstringYesStable unique identifier for the equipment.
servesIdarray<string>NoOptional list of objectIds of entities this equipment serves. Only valid in Named-object mode. Only valid in Named-object mode — must not appear in Associate mode.

Associate Mode

  • associateId is required.
  • objectName, objectId, and servesId must not be present.

Incompatible with EquipmentNamedObjectMode — validators enforce this via the parent oneOf.

NameTypeRequiredDescription
associateIdstringYesIdentifier of the associated entity.
1{
2 "objectName": "string",
3 "objectId": "string",
4 "servesId": [
5 "string"
6 ]
7}

Message: GenericEquipment GenericPoint Metadata

Content Type: application/json

Payload

Field fragment for a vendor-specific or unmapped GenericPoint. processArea is required.

engUnit and stateText are both optional but mutually exclusive — include at most one. See the two variants below.

Object Mode

  • objectName and objectId are required.
  • servesId is optional in Named-object mode.
  • associateId must not be present.

Incompatible with EquipmentAssociateMode — validators enforce this via the parent oneOf.

NameTypeRequiredDescription
objectNamestringYesHuman-readable equipment name.
objectIdstringYesStable unique identifier for the equipment.
servesIdarray<string>NoOptional list of objectIds of entities this equipment serves. Only valid in Named-object mode. Only valid in Named-object mode — must not appear in Associate mode.

Associate Mode

  • associateId is required.
  • objectName, objectId, and servesId must not be present.

Incompatible with EquipmentNamedObjectMode — validators enforce this via the parent oneOf.

NameTypeRequiredDescription
associateIdstringYesIdentifier of the associated entity.
1{
2 "objectName": "string",
3 "objectId": "string",
4 "servesId": [
5 "string"
6 ]
7}