Energy and metering160 — Electrical Grid Conditions

Matter Cluster 160 — Electrical Grid Conditions

Matter Cluster 160 (0x00A0) Electrical Grid Conditions: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 160 — Electrical Grid Conditions Cluster

Matter Cluster 160, also written as 0x00A0, is the Electrical Grid Conditions Cluster. The Electrical Grid Conditions Cluster provides the mechanism for communicating electricity grid carbon intensity to devices within the premises in units of Grams of CO2e per kWh. This is an important mechanism to allow energy appliances decide when to operate to help consumers reduce their carbon footprint, when the pricing may be the same throughout the day.

Cluster Identity

FieldValue
Cluster ID decimal160
Cluster ID hex0x00A0
Cluster nameElectrical Grid Conditions
Cluster revision (Matter 1.6.1)1
Roleapplication
ScopeEndpoint
PICS codeEGC
Typical endpoint1

Revision history

RevisionChange
1Initial Matter revision

Shadow Path Format

Cluster 160 values in the device shadow use this format:

endpoint_id / 160 / attribute_id

Example:

{
  "1/160/0": true
}
PartMeaning
1Endpoint ID
160Electrical Grid Conditions cluster
0LocalGenerationAvailable attribute

Cluster 160 Features

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

BitCodeFeatureConformanceMeaning
0FOREForecastingOForecasts upcoming

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


Data Types

ThreeLevelEnum

This data type is derived from enum8 and is used for indicating three levels: Low, Medium, High.

ValueNameConformanceMeaning
0LowMLow
1MediumMMedium
2HighMHigh

ElectricalGridConditionsStruct (struct)

This represents the greenhouse gas carbon intensity over a given period.

FieldNameTypeConformanceConstraintMeaning
0PeriodStartepoch-sM—Indicates the beginning timestamp in UTC of the period.
1PeriodEndepoch-s (nullable)Mmin computeIndicates the ending timestamp in UTC of the period.
2GridCarbonIntensityint16M—Indicates the estimated carbon intensity in grams of CO2 equivalent per kWh of the grid.
3GridCarbonLevelThreeLevelEnumM—Indicates the relative level of carbon intensity of the grid.
4LocalCarbonIntensityint16M—Indicates the estimated carbon intensity in grams of CO2 equivalent per kWh of the premises mains supply.
5LocalCarbonLevelThreeLevelEnumM—Indicates the relative level of carbon intensity of the premises mains supply.

Cluster 160 Attributes

Cluster 160 defines 3 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
00x0000LocalGenerationAvailableboolMR/W (read: view, write: operate)nullable—
10x0001CurrentConditionsElectricalGridConditionsStructMR (read: view)nullable—
20x0002ForecastConditionslist of ElectricalGridConditionsStructFORER (read: view)——

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; 1 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — LocalGenerationAvailable

Path example:

1/160/0

This indicates if there is known to be local generation (for example Solar PV or Battery Storage) at the premises. If the presence of any local generation is unknown, or cannot be determined, the value is null.

PropertyValue
Typebool
ConformanceM
AccessR/W (read: view, write: operate)
Qualitiesnullable

Example:

{
  "1/160/0": true
}

Attribute 1 / 0x0001 — CurrentConditions

Path example:

1/160/1

This indicates the current electricity supply conditions. If the current conditions are unknown, or cannot be determined, the value is null.

PropertyValue
TypeElectricalGridConditionsStruct
ConformanceM
AccessR (read: view)
Qualitiesnullable

Value is a ElectricalGridConditionsStruct struct (see Data Types).

Example:

{
  "1/160/1": {
    "periodStart": 1,
    "periodEnd": 1,
    "gridCarbonIntensity": 1,
    "gridCarbonLevel": 0
  }
}

Attribute 2 / 0x0002 — ForecastConditions

Path example:

1/160/2

This indicates the forecast of upcoming electricity supply conditions. If the forecast is unable to be determined, this list is empty. The list entries is in time order: - All entries except the last one has a non-null PeriodEnd. - For all entries except the first one, PeriodStart is greater than the previous entry's PeriodEnd.

PropertyValue
Typelist of ElectricalGridConditionsStruct
ConformanceFORE
AccessR (read: view)
Constraintmax 56 entries

Each entry is a ElectricalGridConditionsStruct (see Data Types).

Example:

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

Cluster 160 Commands

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

Cluster 160 Events

IDHexEventPriorityConformanceDescription
00x00CurrentConditionsChangedinfoOThis event is generated when the value of the CurrentConditions attribute changes.

Event 0 — CurrentConditionsChanged

This event is generated when the value of the CurrentConditions attribute changes.

IDFieldTypeConformanceMeaning
0CurrentConditionsElectricalGridConditionsStruct (nullable)MThis field is the new value of the CurrentConditions attribute.

SmartphoneKey Notes

  • Cluster 160 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/160/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.