Base: {
    attributes: {
        accuracy: FixedAttribute<TypeFromFields<{
            accuracyRanges: FieldType<TypeFromFields<{
                fixedMax: OptionalFieldType<(...) | (...)>;
                fixedMin: OptionalFieldType<(...) | (...)>;
                fixedTypical: OptionalFieldType<(...) | (...)>;
                percentMax: OptionalFieldType<number>;
                percentMin: OptionalFieldType<number>;
                percentTypical: OptionalFieldType<number>;
                rangeMax: FieldType<(...) | (...)>;
                rangeMin: FieldType<(...) | (...)>;
            }>[]>;
            maxMeasuredValue: FieldType<number | bigint>;
            measured: FieldType<boolean>;
            measurementType: FieldType<MeasurementType>;
            minMeasuredValue: FieldType<number | bigint>;
        }>, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                cumulativeEnergyImported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            importedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                cumulativeEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            exportedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyImported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            importedEnergy: true;
            periodicEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            exportedEnergy: true;
            periodicEnergy: true;
        };
    }, {
        component: {
            attributes: {
                cumulativeEnergyReset: OptionalAttribute<null | TypeFromFields<{
                    exportedResetSystime: OptionalFieldType<(...) | (...) | (...)>;
                    exportedResetTimestamp: OptionalFieldType<(...) | (...)>;
                    importedResetSystime: OptionalFieldType<(...) | (...) | (...)>;
                    importedResetTimestamp: OptionalFieldType<(...) | (...)>;
                }>, any>;
            };
            events: {
                cumulativeEnergyMeasured: Event<TypeFromFields<{
                    energyExported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                    energyImported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
        };
    }, {
        component: {
            events: {
                periodicEnergyMeasured: Event<TypeFromFields<{
                    energyExported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                    energyImported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                }>, any>;
            };
        };
        flags: {
            periodicEnergy: true;
        };
    }, {
        component: false;
        flags: {
            exportedEnergy: false;
            importedEnergy: false;
        };
    }, {
        component: false;
        flags: {
            cumulativeEnergy: false;
            periodicEnergy: false;
        };
    }];
    features: {
        cumulativeEnergy: BitFlag;
        exportedEnergy: BitFlag;
        importedEnergy: BitFlag;
        periodicEnergy: BitFlag;
    };
    id: 145;
    name: "ElectricalEnergyMeasurement";
    revision: 1;
} = ...

These elements and properties are present in all ElectricalEnergyMeasurement clusters.

Type declaration

  • Readonlyattributes: {
        accuracy: FixedAttribute<TypeFromFields<{
            accuracyRanges: FieldType<TypeFromFields<{
                fixedMax: OptionalFieldType<(...) | (...)>;
                fixedMin: OptionalFieldType<(...) | (...)>;
                fixedTypical: OptionalFieldType<(...) | (...)>;
                percentMax: OptionalFieldType<number>;
                percentMin: OptionalFieldType<number>;
                percentTypical: OptionalFieldType<number>;
                rangeMax: FieldType<(...) | (...)>;
                rangeMin: FieldType<(...) | (...)>;
            }>[]>;
            maxMeasuredValue: FieldType<number | bigint>;
            measured: FieldType<boolean>;
            measurementType: FieldType<MeasurementType>;
            minMeasuredValue: FieldType<number | bigint>;
        }>, any>;
    }
  • Readonlyextensions: readonly [{
        component: {
            attributes: {
                cumulativeEnergyImported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            importedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                cumulativeEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            exportedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyImported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            importedEnergy: true;
            periodicEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...) | (...)>;
                    endTimestamp: OptionalFieldType<number>;
                    energy: FieldType<(...) | (...)>;
                    startSystime: OptionalFieldType<(...) | (...)>;
                    startTimestamp: OptionalFieldType<number>;
                }>, any>;
            };
        };
        flags: {
            exportedEnergy: true;
            periodicEnergy: true;
        };
    }, {
        component: {
            attributes: {
                cumulativeEnergyReset: OptionalAttribute<null | TypeFromFields<{
                    exportedResetSystime: OptionalFieldType<(...) | (...) | (...)>;
                    exportedResetTimestamp: OptionalFieldType<(...) | (...)>;
                    importedResetSystime: OptionalFieldType<(...) | (...) | (...)>;
                    importedResetTimestamp: OptionalFieldType<(...) | (...)>;
                }>, any>;
            };
            events: {
                cumulativeEnergyMeasured: Event<TypeFromFields<{
                    energyExported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                    energyImported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
        };
    }, {
        component: {
            events: {
                periodicEnergyMeasured: Event<TypeFromFields<{
                    energyExported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                    energyImported: OptionalFieldType<TypeFromFields<{
                        endSystime: ...;
                        endTimestamp: ...;
                        energy: ...;
                        startSystime: ...;
                        startTimestamp: ...;
                    }>>;
                }>, any>;
            };
        };
        flags: {
            periodicEnergy: true;
        };
    }, {
        component: false;
        flags: {
            exportedEnergy: false;
            importedEnergy: false;
        };
    }, {
        component: false;
        flags: {
            cumulativeEnergy: false;
            periodicEnergy: false;
        };
    }]

    This metadata controls which ElectricalEnergyMeasurementCluster elements matter.js activates for specific feature combinations.

  • Readonlyfeatures: {
        cumulativeEnergy: BitFlag;
        exportedEnergy: BitFlag;
        importedEnergy: BitFlag;
        periodicEnergy: BitFlag;
    }
    • ReadonlycumulativeEnergy: BitFlag

      CumulativeEnergy

      The feature indicates the server is capable of measuring how much energy has been imported or exported by the server over the device’s lifetime. This measurement may start from when a device’s firmware is updated to include this feature, when a device’s firmware is updated to correct measurement errors, or when a device is factory reset.

      MatterSpecification.v13.Cluster § 2.12.4.3

    • ReadonlyexportedEnergy: BitFlag

      ExportedEnergy

      The feature indicates the server is capable of measuring how much energy is exported by the server.

      MatterSpecification.v13.Cluster § 2.12.4.2

    • ReadonlyimportedEnergy: BitFlag

      ImportedEnergy

      The feature indicates the server is capable of measuring how much energy is imported by the server.

      MatterSpecification.v13.Cluster § 2.12.4.1

    • ReadonlyperiodicEnergy: BitFlag

      PeriodicEnergy

      The feature indicates the server is capable of measuring how much energy has been imported or exported by the server during a certain period of time. The start and end times for measurement periods shall be determined by the server, and may represent overlapping periods.

      MatterSpecification.v13.Cluster § 2.12.4.4

  • Readonlyid: 145
  • Readonlyname: "ElectricalEnergyMeasurement"
  • Readonlyrevision: 1