Base: {
    attributes: {
        accuracy: FixedAttribute<TypeFromFields[], any>;
        activeCurrent: OptionalAttribute<number | bigint | null, any>;
        activePower: Attribute<number | bigint | null, any>;
        numberOfMeasurementTypes: FixedAttribute<number, any>;
        powerMode: Attribute<ElectricalPowerMeasurement.PowerMode, any>;
        ranges: OptionalAttribute<TypeFromFields[], any>;
        voltage: OptionalAttribute<number | bigint | null, any>;
    };
    events: {
        measurementPeriodRanges: OptionalEvent<TypeFromFields, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                apparentCurrent: OptionalAttribute<number | bigint | null, any>;
                apparentPower: OptionalAttribute<number | bigint | null, any>;
                frequency: OptionalAttribute<number | bigint | null, any>;
                powerFactor: OptionalAttribute<number | bigint | null, any>;
                reactiveCurrent: OptionalAttribute<number | bigint | null, any>;
                reactivePower: OptionalAttribute<number | bigint | null, any>;
                rmsCurrent: OptionalAttribute<number | bigint | null, any>;
                rmsPower: OptionalAttribute<number | bigint | null, any>;
                rmsVoltage: OptionalAttribute<number | bigint | null, any>;
            };
        };
        flags: {
            alternatingCurrent: true;
        };
    }, {
        component: {
            attributes: {
                harmonicCurrents: Attribute<TypeFromFields[] | null, any>;
            };
        };
        flags: {
            harmonics: true;
        };
    }, {
        component: {
            attributes: {
                harmonicPhases: Attribute<TypeFromFields[] | null, any>;
            };
        };
        flags: {
            powerQuality: true;
        };
    }, {
        component: {
            attributes: {
                neutralCurrent: OptionalAttribute<number | bigint | null, any>;
            };
        };
        flags: {
            polyphasePower: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            polyphasePower: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            harmonics: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            powerQuality: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            directCurrent: false;
        };
    }];
    features: {
        alternatingCurrent: BitFlag;
        directCurrent: BitFlag;
        harmonics: BitFlag;
        polyphasePower: BitFlag;
        powerQuality: BitFlag;
    };
    id: 144;
    name: "ElectricalPowerMeasurement";
    revision: 1;
}

These elements and properties are present in all ElectricalPowerMeasurement clusters.

Type declaration

  • Readonlyattributes: {
        accuracy: FixedAttribute<TypeFromFields[], any>;
        activeCurrent: OptionalAttribute<number | bigint | null, any>;
        activePower: Attribute<number | bigint | null, any>;
        numberOfMeasurementTypes: FixedAttribute<number, any>;
        powerMode: Attribute<ElectricalPowerMeasurement.PowerMode, any>;
        ranges: OptionalAttribute<TypeFromFields[], any>;
        voltage: OptionalAttribute<number | bigint | null, any>;
    }
    • Readonlyaccuracy: FixedAttribute<TypeFromFields[], any>

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

      MatterSpecification.v13.Cluster § 2.13.6.3

    • ReadonlyactiveCurrent: OptionalAttribute<number | bigint | null, any>

      This shall indicate 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 shall be manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

      The server shall NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

      The server may delay marking this attribute ready for report for longer periods if needed, however the server shall NOT delay marking this attribute as ready for report for longer than 60 seconds.

      If the current cannot be measured, a value of null shall be returned.

      MatterSpecification.v13.Cluster § 2.13.6.6

    • ReadonlyactivePower: Attribute<number | bigint | null, any>

      This shall indicate the most recent ActivePower reading in milliwatts (mW). If the power cannot be measured, a value of null shall be returned.

      A positive value represents power imported, while a negative value represents power exported.

      The reporting interval of this attribute shall be manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

      The server shall NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

      The server may delay marking this attribute ready for report for longer periods if needed, however the server shall NOT delay marking this attribute as ready for report for longer than 60 seconds.

      If the Polyphase Power feature is set, this value represents the combined active power imported or exported.

      MatterSpecification.v13.Cluster § 2.13.6.9

    • ReadonlynumberOfMeasurementTypes: FixedAttribute<number, any>

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

      MatterSpecification.v13.Cluster § 2.13.6.2

    • ReadonlypowerMode: Attribute<ElectricalPowerMeasurement.PowerMode, any>

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

      MatterSpecification.v13.Cluster § 2.13.6.1

    • Readonlyranges: OptionalAttribute<TypeFromFields[], any>

      This shall indicate a list of measured ranges for different measurement types. Each measurement type shall have at most one entry in this list, representing the range of measurements in the most recent measurement period.

      The reporting interval of this attribute shall be manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

      The server shall NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

      The server may delay marking this attribute ready for report for longer periods if needed, however the server shall NOT delay marking this attribute as ready for report for longer than 60 seconds.

      MatterSpecification.v13.Cluster § 2.13.6.4

    • Readonlyvoltage: OptionalAttribute<number | bigint | null, any>

      This shall indicate the most recent Voltage reading in millivolts (mV).

      The reporting interval of this attribute shall be manufacturer dependent. The server may choose to omit publication of deltas considered not meaningful.

      The server shall NOT mark this attribute ready for report if the last time this was done was more recently than 1 second ago.

      The server may delay marking this attribute ready for report for longer periods if needed, however the server shall NOT delay marking this attribute as ready for report for longer than 60 seconds.

      If the voltage cannot be measured, a value of null shall be returned.

      MatterSpecification.v13.Cluster § 2.13.6.5

  • Readonlyevents: {
        measurementPeriodRanges: OptionalEvent<TypeFromFields, any>;
    }
    • ReadonlymeasurementPeriodRanges: OptionalEvent<TypeFromFields, any>

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

      MatterSpecification.v13.Cluster § 2.13.7.1

  • Readonlyextensions: readonly [{
        component: {
            attributes: {
                apparentCurrent: OptionalAttribute<number | bigint | null, any>;
                apparentPower: OptionalAttribute<number | bigint | null, any>;
                frequency: OptionalAttribute<number | bigint | null, any>;
                powerFactor: OptionalAttribute<number | bigint | null, any>;
                reactiveCurrent: OptionalAttribute<number | bigint | null, any>;
                reactivePower: OptionalAttribute<number | bigint | null, any>;
                rmsCurrent: OptionalAttribute<number | bigint | null, any>;
                rmsPower: OptionalAttribute<number | bigint | null, any>;
                rmsVoltage: OptionalAttribute<number | bigint | null, any>;
            };
        };
        flags: {
            alternatingCurrent: true;
        };
    }, {
        component: {
            attributes: {
                harmonicCurrents: Attribute<TypeFromFields[] | null, any>;
            };
        };
        flags: {
            harmonics: true;
        };
    }, {
        component: {
            attributes: {
                harmonicPhases: Attribute<TypeFromFields[] | null, any>;
            };
        };
        flags: {
            powerQuality: true;
        };
    }, {
        component: {
            attributes: {
                neutralCurrent: OptionalAttribute<number | bigint | null, any>;
            };
        };
        flags: {
            polyphasePower: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            polyphasePower: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            harmonics: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            powerQuality: true;
        };
    }, {
        component: false;
        flags: {
            alternatingCurrent: false;
            directCurrent: false;
        };
    }]

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

  • Readonlyfeatures: {
        alternatingCurrent: BitFlag;
        directCurrent: BitFlag;
        harmonics: BitFlag;
        polyphasePower: BitFlag;
        powerQuality: BitFlag;
    }
    • ReadonlyalternatingCurrent: BitFlag

      AlternatingCurrent

      This feature indicates the cluster can measure an alternating current.

      MatterSpecification.v13.Cluster § 2.13.4.2

    • ReadonlydirectCurrent: BitFlag

      DirectCurrent

      This feature indicates the cluster can measure a direct current.

      MatterSpecification.v13.Cluster § 2.13.4.1

    • Readonlyharmonics: BitFlag

      Harmonics

      This feature indicates the cluster can measure the harmonics of an alternating current.

      MatterSpecification.v13.Cluster § 2.13.4.4

    • ReadonlypolyphasePower: BitFlag

      PolyphasePower

      This feature indicates the cluster represents the collective measurements for a Polyphase power supply.

      MatterSpecification.v13.Cluster § 2.13.4.3

    • ReadonlypowerQuality: BitFlag

      PowerQuality

      This feature indicates the cluster can measure the harmonic phases of an alternating current.

      MatterSpecification.v13.Cluster § 2.13.4.5

  • Readonlyid: 144
  • Readonlyname: "ElectricalPowerMeasurement"
  • Readonlyrevision: 1