ClusterInstance: ExtensibleOnly<{
    attributes: {
        accuracy: FixedAttribute<TypeFromFields<{
            accuracyRanges: FieldType<TypeFromFields<{
                fixedMax: OptionalFieldType<(...)>;
                fixedMin: OptionalFieldType<(...)>;
                fixedTypical: OptionalFieldType<(...)>;
                percentMax: OptionalFieldType<(...)>;
                percentMin: OptionalFieldType<(...)>;
                percentTypical: OptionalFieldType<(...)>;
                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<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            importedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                cumulativeEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...)>;
                    endTimestamp: OptionalFieldType<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            exportedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyImported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...)>;
                    endTimestamp: OptionalFieldType<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            importedEnergy: true;
            periodicEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...)>;
                    endTimestamp: OptionalFieldType<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, 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<(...)>>;
                    energyImported: OptionalFieldType<TypeFromFields<(...)>>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
        };
    }, {
        component: {
            events: {
                periodicEnergyMeasured: Event<TypeFromFields<{
                    energyExported: OptionalFieldType<TypeFromFields<(...)>>;
                    energyImported: OptionalFieldType<TypeFromFields<(...)>>;
                }>, 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;
}> = ...

Type declaration

  • Readonlyattributes: {
        accuracy: FixedAttribute<TypeFromFields<{
            accuracyRanges: FieldType<TypeFromFields<{
                fixedMax: OptionalFieldType<(...)>;
                fixedMin: OptionalFieldType<(...)>;
                fixedTypical: OptionalFieldType<(...)>;
                percentMax: OptionalFieldType<(...)>;
                percentMin: OptionalFieldType<(...)>;
                percentTypical: OptionalFieldType<(...)>;
                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<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            importedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                cumulativeEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...)>;
                    endTimestamp: OptionalFieldType<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
            exportedEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyImported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...)>;
                    endTimestamp: OptionalFieldType<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            importedEnergy: true;
            periodicEnergy: true;
        };
    }, {
        component: {
            attributes: {
                periodicEnergyExported: Attribute<null | TypeFromFields<{
                    endSystime: OptionalFieldType<(...)>;
                    endTimestamp: OptionalFieldType<(...)>;
                    energy: FieldType<(...)>;
                    startSystime: OptionalFieldType<(...)>;
                    startTimestamp: OptionalFieldType<(...)>;
                }>, 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<(...)>>;
                    energyImported: OptionalFieldType<TypeFromFields<(...)>>;
                }>, any>;
            };
        };
        flags: {
            cumulativeEnergy: true;
        };
    }, {
        component: {
            events: {
                periodicEnergyMeasured: Event<TypeFromFields<{
                    energyExported: OptionalFieldType<TypeFromFields<(...)>>;
                    energyImported: OptionalFieldType<TypeFromFields<(...)>>;
                }>, 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