Energy and metering144 — Electrical Power Measurement

Matter Cluster 144 — Electrical Power Measurement

Matter Cluster 144 (0x0090) Electrical Power Measurement: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 144 — Electrical Power Measurement Cluster

Matter Cluster 144, also written as 0x0090, is the Electrical Power Measurement Cluster. This cluster provides a mechanism for querying data about electrical power as measured by the server.

Cluster Identity

FieldValue
Cluster ID decimal144
Cluster ID hex0x0090
Cluster nameElectrical Power Measurement
Cluster revision (Matter 1.6.1)3
Roleapplication
ScopeEndpoint
PICS codeEPM
Typical endpoint1

Revision history

RevisionChange
1Initial revision
2Changed reactive and apparent power fields to use new data types
3Changed range of apparent current field to allow negative apparent current

Shadow Path Format

Cluster 144 values in the device shadow use this format:

endpoint_id / 144 / attribute_id

Example:

{
  "1/144/0": 1
}
PartMeaning
1Endpoint ID
144Electrical Power Measurement cluster
0PowerMode attribute

Cluster 144 Features

The FeatureMap attribute (1/144/65532) is a bitmap. Each bit set means the device implements that feature and the attributes and commands that depend on it.

BitCodeFeatureConformanceMeaning
0DIRCDirectCurrentOSupports measurement of direct current
1ALTCAlternatingCurrentOSupports measurement of alternating current
2POLYPolyphasePower[ALTC]Supports polyphase measurements
3HARMHarmonics[ALTC]Supports measurement of AC harmonics
4PWRQPowerQuality[ALTC]Supports measurement of AC harmonic phases

Example: FeatureMap = 0 means no optional feature is enabled; 31 means every feature listed above is enabled.


Data Types

MeasurementTypeEnum

ValueNameConformanceMeaning
0UnspecifiedM—
1VoltageMVoltage in millivolts (mV)
2ActiveCurrentMActive current in milliamps (mA)
3ReactiveCurrentMReactive current in milliamps (mA)
4ApparentCurrentMApparent current in milliamps (mA)
5ActivePowerMActive power in milliwatts (mW)
6ReactivePowerMReactive power in millivolt-amps reactive (mVAR)
7ApparentPowerMApparent power in millivolt-amps (mVA)
8RMSVoltageMRoot mean squared voltage in millivolts (mV)
9RMSCurrentMRoot mean squared current in milliamps (mA)
10RMSPowerMRoot mean squared power in milliwatts (mW)
11FrequencyMAC frequency in millihertz (mHz)
12PowerFactorMPower Factor ratio in +/- 1/100ths of a percent.
13NeutralCurrentMAC neutral current in milliamps (mA)
14ElectricalEnergyMElectrical energy in milliwatt-hours (mWh)
15ReactiveEnergyMReactive power in millivolt-amp-hours reactive (mVARh)
16ApparentEnergyMApparent power in millivolt-amp-hours (mVAh)

PowerModeEnum

ValueNameConformanceMeaning
0UnknownM—
1DCMDirect current
2ACMAlternating current, either single-phase or polyphase

HarmonicMeasurementStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0Orderuint8Mmin 1This field is the order of the harmonic being measured.
1Measurementint64 (nullable)M-4611686018427387904 to 4611686018427387904This field is the measured value for the given harmonic order.

MeasurementAccuracyRangeStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0RangeMinint64M-4611686018427387904 to 4611686018427387904—
1RangeMaxint64M-4611686018427387904 to 4611686018427387904—
2PercentMaxpercent100thsO——
3PercentMinpercent100ths[PercentMax]max PercentTypical—
4PercentTypicalpercent100ths[PercentMin]PercentMin to PercentMax—
5FixedMaxuint64Omax compute—
6FixedMinuint64[FixedMax]max FixedMax—
7FixedTypicaluint64[FixedMin]FixedMin to FixedMax—

MeasurementAccuracyStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0MeasurementTypeMeasurementTypeEnumM——
1MeasuredboolM——
2MinMeasuredValueint64M-4611686018427387904 to 4611686018427387904—
3MaxMeasuredValueint64M-4611686018427387904 to 4611686018427387904—
4AccuracyRangeslist of MeasurementAccuracyRangeStructMmin 1 entries—

MeasurementRangeStruct (struct)

This struct indicates the maximum and minimum values of a given measurement type during a measurement period, along with the observation times of these values.

FieldNameTypeConformanceConstraintMeaning
0MeasurementTypeMeasurementTypeEnumM—This field is the type of measurement for the range provided.
1Minint64M-4611686018427387904 to 4611686018427387904This field is the smallest measured value for the associated measurement over either the period between StartTimestamp and EndTimestamp, or the period between StartSystime and EndSystime, or both.
2Maxint64M-4611686018427387904 to 4611686018427387904This field is the largest measured value for the associated measurement over the period between either StartTimestamp and EndTimestamp or the period between StartSystime and EndSystime, or both.
3StartTimestampepoch-sEndTimestamp—This field is the timestamp in UTC of the beginning of the measurement period.
4EndTimestampepoch-sdescmin computeThis field is the timestamp in UTC of the end of the measurement period.
5MinTimestampepoch-sEndTimestamp—This field is the most recent timestamp in UTC that the value in the Min field was measured.
6MaxTimestampepoch-sEndTimestampmin computeThis field is the most recent timestamp in UTC of the value in the Max field.
7StartSystimesystime-msEndSystime—This field is the time since boot of the beginning of the measurement period.
8EndSystimesystime-msdescmin computeThis field is the time since boot of the end of the measurement period.
9MinSystimesystime-msEndSystime—This field is the measurement time since boot of the value in the Min field was measured.
10MaxSystimesystime-msEndSystimemin computeThis field is the measurement time since boot of the value in the Max field.

Cluster 144 Attributes

Cluster 144 defines 19 attributes plus the global attributes. Conformance: M mandatory, O optional, a feature code means "mandatory when that feature is present", square brackets mean "optional when …".

IDHexAttributeTypeConformanceAccessQualitiesDefault
00x0000PowerModePowerModeEnumMR (read: view)——
10x0001NumberOfMeasurementTypesuint8MR (read: view)——
20x0002Accuracylist of MeasurementAccuracyStructMR (read: view)——
30x0003Rangeslist of MeasurementRangeStructOR (read: view)quiet reportingempty
40x0004Voltagevoltage-mVOR (read: view)nullable, quiet reportingnull
50x0005ActiveCurrentamperage-mAOR (read: view)nullable, quiet reportingnull
60x0006ReactiveCurrentamperage-mA[ALTC]R (read: view)nullable, quiet reportingnull
70x0007ApparentCurrentamperage-mA[ALTC]R (read: view)nullable, quiet reportingnull
80x0008ActivePowerpower-mWMR (read: view)nullable, quiet reporting—
90x0009ReactivePowerpower-mVAR[ALTC]R (read: view)nullable, quiet reportingnull
100x000AApparentPowerpower-mVA[ALTC]R (read: view)nullable, quiet reportingnull
110x000BRMSVoltagevoltage-mV[ALTC]R (read: view)nullable, quiet reportingnull
120x000CRMSCurrentamperage-mA[ALTC]R (read: view)nullable, quiet reportingnull
130x000DRMSPowerpower-mW[ALTC]R (read: view)nullable, quiet reportingnull
140x000EFrequencyint64[ALTC]R (read: view)nullable, quiet reportingnull
150x000FHarmonicCurrentslist of HarmonicMeasurementStructHARMR (read: view)nullable, quiet reporting—
160x0010HarmonicPhaseslist of HarmonicMeasurementStructPWRQR (read: view)nullable, quiet reporting—
170x0011PowerFactorint64[ALTC]R (read: view)nullable, quiet reportingnull
180x0012NeutralCurrentamperage-mA[POLY]R (read: view)nullable, quiet reportingnull

Global attributes

IDHexAttributeMeaning
655280xFFF8GeneratedCommandListResponse command IDs this server generates.
655290xFFF9AcceptedCommandListCommand IDs this server accepts.
655310xFFFBAttributeListAttribute IDs implemented.
655320xFFFCFeatureMapImplemented optional features (see above).
655330xFFFDClusterRevisionCluster revision implemented; 3 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — PowerMode

Path example:

1/144/0

This indicates the current mode of the server. For some servers, such as an EV, this may change depending on the mode of charging or discharging.

PropertyValue
TypePowerModeEnum
ConformanceM
AccessR (read: view)

Values (PowerModeEnum):

ValueNameMeaning
0Unknown—
1DCDirect current
2ACAlternating current, either single-phase or polyphase

Example:

{
  "1/144/0": 1
}

Attribute 1 / 0x0001 — NumberOfMeasurementTypes

Path example:

1/144/1

This indicates the maximum number of measurement types the server is capable of reporting.

PropertyValue
Typeuint8
ConformanceM
AccessR (read: view)
Constraintmax 32

Example:

{
  "1/144/1": 1
}

Attribute 2 / 0x0002 — Accuracy

Path example:

1/144/2

This indicates a list of accuracy specifications for the measurement types supported by the server. There is an entry for ActivePower, as well as any other measurement types implemented by this server.

PropertyValue
Typelist of MeasurementAccuracyStruct
ConformanceM
AccessR (read: view)
Constraint1 to NumberOfMeasurementTypes entries

Each entry is a MeasurementAccuracyStruct (see Data Types).

Example:

{
  "1/144/2": []
}

Attribute 3 / 0x0003 — Ranges

Path example:

1/144/3

This indicates a list of measured ranges for different measurement types. Each measurement type has at most one entry in this list, representing the range of measurements in the most recent measurement period. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

PropertyValue
Typelist of MeasurementRangeStruct
ConformanceO
AccessR (read: view)
Qualitiesquiet reporting
Constraint0 to NumberOfMeasurementTypes entries
Defaultempty

Each entry is a MeasurementRangeStruct (see Data Types).

Example:

{
  "1/144/3": []
}

Attribute 4 / 0x0004 — Voltage

Path example:

1/144/4

This indicates the most recent Voltage reading in millivolts (mV). The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful. The server must NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

PropertyValue
Typevoltage-mV
ConformanceO
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/4": 1
}

Attribute 5 / 0x0005 — ActiveCurrent

Path example:

1/144/5

This indicates the most recent ActiveCurrent reading in milliamps (mA). A positive value represents current flowing into the server, while a negative value represents current flowing out of the server. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

PropertyValue
Typeamperage-mA
ConformanceO
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/5": 1
}

Attribute 6 / 0x0006 — ReactiveCurrent

Path example:

1/144/6

This indicates the most recent ReactiveCurrent reading in milliamps (mA). A positive value represents current flowing into the server, while a negative value represents current flowing out of the server. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

PropertyValue
Typeamperage-mA
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/6": 1
}

Attribute 7 / 0x0007 — ApparentCurrent

Path example:

1/144/7

This indicates the most recent ApparentCurrent (square root sum of the squares of active and reactive currents) reading in milliamps (mA). A positive value represents current flowing into the server, while a negative value represents current flowing out of the server. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

PropertyValue
Typeamperage-mA
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/7": 1
}

Attribute 8 / 0x0008 — ActivePower

Path example:

1/144/8

This indicates the most recent ActivePower reading in milliwatts (mW). If the power cannot be measured, a value of null is returned. A positive value represents power imported, while a negative value represents power exported. The reporting interval of this attribute is manufacturer dependent.

PropertyValue
Typepower-mW
ConformanceM
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904

Example:

{
  "1/144/8": 1
}

Attribute 9 / 0x0009 — ReactivePower

Path example:

1/144/9

This indicates the most recent ReactivePower reading in millivolt-amps reactive (mVAR). A positive value represents power imported, while a negative value represents power exported. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

PropertyValue
Typepower-mVAR
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/9": 1
}

Attribute 10 / 0x000A — ApparentPower

Path example:

1/144/10

This indicates the most recent ApparentPower reading in millivolt-amps (mVA). A positive value represents power imported, while a negative value represents power exported. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

PropertyValue
Typepower-mVA
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/10": 1
}

Attribute 11 / 0x000B — RMSVoltage

Path example:

1/144/11

No condensed specification text is available for RMSVoltage; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Typevoltage-mV
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/11": 1
}

Attribute 12 / 0x000C — RMSCurrent

Path example:

1/144/12

No condensed specification text is available for RMSCurrent; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Typeamperage-mA
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/12": 1
}

Attribute 13 / 0x000D — RMSPower

Path example:

1/144/13

No condensed specification text is available for RMSPower; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Typepower-mW
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/13": 1
}

Attribute 14 / 0x000E — Frequency

Path example:

1/144/14

This indicates the most recent Frequency reading in millihertz (mHz). The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful. The server must NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

PropertyValue
Typeint64
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint0 to 1000000
Defaultnull

Example:

{
  "1/144/14": 0
}

Attribute 15 / 0x000F — HarmonicCurrents

Path example:

1/144/15

This indicates a list of HarmonicMeasurementStruct values, with each HarmonicMeasurementStruct representing the harmonic current reading for the harmonic order specified by Order. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful. The server must NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

PropertyValue
Typelist of HarmonicMeasurementStruct
ConformanceHARM
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraintmax 25 entries

Each entry is a HarmonicMeasurementStruct (see Data Types).

Example:

{
  "1/144/15": []
}

Attribute 16 / 0x0010 — HarmonicPhases

Path example:

1/144/16

This indicates a list of HarmonicMeasurementStruct values, with each HarmonicMeasurementStruct representing the most recent phase of the harmonic current reading for the harmonic order specified by Order. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful. The server must NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

PropertyValue
Typelist of HarmonicMeasurementStruct
ConformancePWRQ
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraintmax 25 entries

Each entry is a HarmonicMeasurementStruct (see Data Types).

Example:

{
  "1/144/16": []
}

Attribute 17 / 0x0011 — PowerFactor

Path example:

1/144/17

This indicates the Power Factor ratio in +/- 1/100ths of a percent. The reporting interval of this attribute is manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful. The server must NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

PropertyValue
Typeint64
Conformance[ALTC]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-10000 to 10000
Defaultnull

Example:

{
  "1/144/17": 1
}

Attribute 18 / 0x0012 — NeutralCurrent

Path example:

1/144/18

This indicates the most recent NeutralCurrent reading in milliamps (mA). Typically this is a derived value, taking the magnitude of the vector sum of phase currents. If the neutral current cannot be measured or derived, a value of null is returned. A positive value represents an imbalance between the phase currents when power is imported.

PropertyValue
Typeamperage-mA
Conformance[POLY]
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraint-4611686018427387904 to 4611686018427387904
Defaultnull

Example:

{
  "1/144/18": 1
}

Cluster 144 Commands

Cluster 144 defines no commands. It is read (and, for writable attributes, written) through attribute access only.

Cluster 144 Events

IDHexEventPriorityConformanceDescription
00x00MeasurementPeriodRangesinfoRangesIf supported, this event is generated at the end of a measurement period.

Event 0 — MeasurementPeriodRanges

If supported, this event is generated at the end of a measurement period. The start and end times for measurement periods is determined by the server, and may represent overlapping periods.

IDFieldTypeConformanceMeaning
0Rangeslist of MeasurementRangeStructMThis indicates the value of the Ranges attribute at the time of event generation.

SmartphoneKey Notes

  • Cluster 144 is not currently exposed by SmartphoneKey devices. This page documents the Matter 1.6.1 specification so that future devices can be interpreted without changes to the backend.
  • Shadow paths follow endpoint/144/attribute; attribute values that the device reports as unreadable are written as n/a.
  • Attribute IDs, command IDs and enum values on this page come from the CSA Matter 1.6.1 data model; descriptions are condensed from the specification text.