Power Meter — Metadata

View as Markdown

Subscribe to BMS-published metadata for all PowerMeter points.

Direction: Subscribe (receive)

Channel

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

BMS-published metadata for all PowerMeter points.

MQTT wildcard examples

  • All power meter metadata: BMS/v1/PUB/Metadata/PowerMeter/#

Parameters

ParameterDescription
pointTypePowerMeter point type. Values: Voltage, PowerFactor, Frequency, ApparentPower, ActivePower, Current … (9 total)
tagPathVendor-defined hierarchical tag path.

Message: PowerMeter Voltage Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: Voltage
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
1{
2 "objectType": "PowerMeter",
3 "pointType": "Voltage",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string"
10}

Message: PowerMeter PowerFactor Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: PowerFactor
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
1{
2 "objectType": "PowerMeter",
3 "pointType": "PowerFactor",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ]
9}

Message: PowerMeter Frequency Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: Frequency
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
1{
2 "objectType": "PowerMeter",
3 "pointType": "Frequency",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string"
10}

Message: PowerMeter ApparentPower Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: ApparentPower
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
1{
2 "objectType": "PowerMeter",
3 "pointType": "ApparentPower",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string"
10}

Message: PowerMeter ActivePower Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: ActivePower
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
1{
2 "objectType": "PowerMeter",
3 "pointType": "ActivePower",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string"
10}

Message: PowerMeter Current Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: Current
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
1{
2 "objectType": "PowerMeter",
3 "pointType": "Current",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string"
10}

Message: PowerMeter CurrentLimit Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: CurrentLimit
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
1{
2 "objectType": "PowerMeter",
3 "pointType": "CurrentLimit",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string"
10}

Message: PowerMeter PhaseCurrent Metadata

Content Type: application/json

Payload

NameTypeRequiredDescription
objectTypestringYesValues: PowerMeter
pointTypestringYesValues: PhaseCurrent
objectNamestringYesHuman-readable name of the electrical device.
objectIdstringYesStable unique identifier for the electrical device.
servesIdarray<string>YesList of objectIds of entities served by this power meter.
engUnitstringYes
phasestringYesElectrical phase identifier. Letter form (A/B/C) and numeric form (1/2/3) are both accepted to align with publisher conventions. Values: A, B, C, 1, 2, 3
1{
2 "objectType": "PowerMeter",
3 "pointType": "PhaseCurrent",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "engUnit": "string",
10 "phase": "A"
11}

Message: PowerMeter 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.

Continuous measurement with a known engineering unit. When engUnit is prese…

NameTypeRequiredDescription
engUnitstringNoEngineering unit for the measurement.

Binary or enumerated state point. When stateText is present, engUnit must…

NameTypeRequiredDescription
stateTextarray<map<string, any>>NoState label mapping. Each entry maps a numeric state value to its human-readable label (e.g., [{value: 0, text: "Off"}, {value: 1, text: "On"}]).
1{
2 "objectType": "string",
3 "pointType": "GenericPoint",
4 "objectName": "string",
5 "objectId": "string",
6 "servesId": [
7 "string"
8 ],
9 "processArea": [
10 "string"
11 ],
12 "phase": "A",
13 "integration": "string",
14 "isSetpoint": false
15}