// DO NOT EDIT MANUALLY - Generated file
//
// Identifier constant values for cluster ElectricalPowerMeasurement (cluster code: 144/0x90)
// based on src/controller/data_model/controller-clusters.matter
#pragma once

#include <clusters/shared/GlobalIds.h>
#include <lib/core/DataModelTypes.h>

namespace chip {
namespace app {
namespace Clusters {
namespace ElectricalPowerMeasurement {
namespace Attributes {

// Total number of attributes supported by the cluster, including global attributes
inline constexpr uint32_t kAttributesCount = 24;

namespace PowerMode {
inline constexpr AttributeId Id = 0x00000000;
} // namespace PowerMode

namespace NumberOfMeasurementTypes {
inline constexpr AttributeId Id = 0x00000001;
} // namespace NumberOfMeasurementTypes

namespace Accuracy {
inline constexpr AttributeId Id = 0x00000002;
} // namespace Accuracy

namespace Ranges {
inline constexpr AttributeId Id = 0x00000003;
} // namespace Ranges

namespace Voltage {
inline constexpr AttributeId Id = 0x00000004;
} // namespace Voltage

namespace ActiveCurrent {
inline constexpr AttributeId Id = 0x00000005;
} // namespace ActiveCurrent

namespace ReactiveCurrent {
inline constexpr AttributeId Id = 0x00000006;
} // namespace ReactiveCurrent

namespace ApparentCurrent {
inline constexpr AttributeId Id = 0x00000007;
} // namespace ApparentCurrent

namespace ActivePower {
inline constexpr AttributeId Id = 0x00000008;
} // namespace ActivePower

namespace ReactivePower {
inline constexpr AttributeId Id = 0x00000009;
} // namespace ReactivePower

namespace ApparentPower {
inline constexpr AttributeId Id = 0x0000000A;
} // namespace ApparentPower

namespace RMSVoltage {
inline constexpr AttributeId Id = 0x0000000B;
} // namespace RMSVoltage

namespace RMSCurrent {
inline constexpr AttributeId Id = 0x0000000C;
} // namespace RMSCurrent

namespace RMSPower {
inline constexpr AttributeId Id = 0x0000000D;
} // namespace RMSPower

namespace Frequency {
inline constexpr AttributeId Id = 0x0000000E;
} // namespace Frequency

namespace HarmonicCurrents {
inline constexpr AttributeId Id = 0x0000000F;
} // namespace HarmonicCurrents

namespace HarmonicPhases {
inline constexpr AttributeId Id = 0x00000010;
} // namespace HarmonicPhases

namespace PowerFactor {
inline constexpr AttributeId Id = 0x00000011;
} // namespace PowerFactor

namespace NeutralCurrent {
inline constexpr AttributeId Id = 0x00000012;
} // namespace NeutralCurrent

namespace GeneratedCommandList {
inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList

namespace AcceptedCommandList {
inline constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id;
} // namespace AcceptedCommandList

namespace AttributeList {
inline constexpr AttributeId Id = Globals::Attributes::AttributeList::Id;
} // namespace AttributeList

namespace FeatureMap {
inline constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id;
} // namespace FeatureMap

namespace ClusterRevision {
inline constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id;
} // namespace ClusterRevision

} // namespace Attributes
} // namespace ElectricalPowerMeasurement
} // namespace Clusters
} // namespace app
} // namespace chip
