diff --git a/examples/chip-tool/templates/commands.zapt b/examples/chip-tool/templates/commands.zapt index a9c2652ba08de2..f11c56dc2d49a3 100644 --- a/examples/chip-tool/templates/commands.zapt +++ b/examples/chip-tool/templates/commands.zapt @@ -14,28 +14,27 @@ {{> clusters_header}} -{{#chip_client_clusters}} +{{#zcl_clusters}} {{> cluster_header}} -{{#chip_cluster_commands}} +{{#zcl_commands_source_client}} /* * Command {{asUpperCamelCase name}} */ -class {{asUpperCamelCase clusterName}}{{asUpperCamelCase name}}: public ClusterCommand +class {{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}: public ClusterCommand { public: - {{asUpperCamelCase clusterName}}{{asUpperCamelCase name}}(CredentialIssuerCommands * credsIssuerConfig): ClusterCommand("{{asDelimitedCommand name}}", credsIssuerConfig){{#chip_cluster_command_arguments}}{{#if isComplex}}, mComplex_{{asUpperCamelCase label}}(&mRequest.{{asLowerCamelCase label}}){{/if}}{{/chip_cluster_command_arguments}} + {{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}(CredentialIssuerCommands * credsIssuerConfig): ClusterCommand("{{asDelimitedCommand name}}", credsIssuerConfig){{#zcl_command_arguments}}{{#if_chip_complex}}, mComplex_{{asUpperCamelCase label}}(&mRequest.{{asLowerCamelCase label}}){{/if_chip_complex}}{{/zcl_command_arguments}} { - {{#chip_cluster_command_arguments}} - {{~#*inline "field"}}mRequest.{{asLowerCamelCase label}}{{/inline~}} - {{#if isComplex}} + {{#zcl_command_arguments}} + {{#if_chip_complex}} AddArgument("{{asUpperCamelCase label}}", &mComplex_{{asUpperCamelCase label}}); {{else if (isString type)}} - AddArgument("{{asUpperCamelCase label}}", &{{>field}}); + AddArgument("{{asUpperCamelCase label}}", &mRequest.{{asLowerCamelCase label}}); {{else}} - AddArgument("{{asUpperCamelCase label}}", {{asTypeMinValue type}}, {{asTypeMaxValue type}}, &{{>field}}); - {{/if}} - {{/chip_cluster_command_arguments}} + AddArgument("{{asUpperCamelCase label}}", {{asTypeMinValue type}}, {{asTypeMaxValue type}}, &mRequest.{{asLowerCamelCase label}}); + {{/if_chip_complex}} + {{/zcl_command_arguments}} ClusterCommand::AddArguments(); } @@ -48,30 +47,30 @@ public: private: chip::app::Clusters::{{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::Type mRequest; - {{#chip_cluster_command_arguments}} - {{#if isComplex}} + {{#zcl_command_arguments}} + {{#if_chip_complex}} TypedComplexArgument<{{zapTypeToEncodableClusterObjectType type ns=parent.parent.name}}> mComplex_{{asUpperCamelCase label}}; - {{/if}} - {{/chip_cluster_command_arguments}} + {{/if_chip_complex}} + {{/zcl_command_arguments}} }; -{{/chip_cluster_commands}} +{{/zcl_commands_source_client}} -{{#chip_server_cluster_attributes}} -{{#if isWritableAttribute}} +{{#zcl_attributes_server}} +{{#if isWritable}} class Write{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}: public WriteAttribute { public: - Write{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}(CredentialIssuerCommands * credsIssuerConfig): WriteAttribute("{{asUpperCamelCase name}}", credsIssuerConfig){{#if isComplex}}, mComplex(&mValue){{/if}} + Write{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}(CredentialIssuerCommands * credsIssuerConfig): WriteAttribute("{{asUpperCamelCase name}}", credsIssuerConfig){{#if_chip_complex}}, mComplex(&mValue){{/if_chip_complex}} { AddArgument("attr-name", "{{asDelimitedCommand (asUpperCamelCase name)}}"); - {{#if isComplex}} + {{#if_chip_complex}} AddArgument("attr-value", &mComplex); {{else if (isString type)}} AddArgument("attr-value", &mValue); {{else}} AddArgument("attr-value", {{asTypeMinValue type}}, {{asTypeMaxValue type}}, &mValue); - {{/if}} + {{/if_chip_complex}} WriteAttribute::AddArguments(); } @@ -83,20 +82,20 @@ public: } private: - {{zapTypeToEncodableClusterObjectType type ns=parent.name}} mValue; -{{#if isComplex}} - TypedComplexArgument<{{zapTypeToEncodableClusterObjectType type ns=parent.name}}> mComplex; -{{/if}} + {{zapTypeToEncodableClusterObjectType type ns=parent.name forceNotOptional=true}} mValue; +{{#if_chip_complex}} + TypedComplexArgument<{{zapTypeToEncodableClusterObjectType type ns=parent.name forceNotOptional=true}}> mComplex; +{{/if_chip_complex}} }; {{/if}} -{{/chip_server_cluster_attributes}} -{{/chip_client_clusters}} +{{/zcl_attributes_server}} +{{/zcl_clusters}} /*----------------------------------------------------------------------------*\ | Register all Clusters commands | \*----------------------------------------------------------------------------*/ -{{#chip_client_clusters}} +{{#zcl_clusters}} void registerCluster{{asUpperCamelCase name}}(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { using namespace chip::app::Clusters::{{asUpperCamelCase name}}; @@ -108,44 +107,44 @@ void registerCluster{{asUpperCamelCase name}}(Commands & commands, CredentialIss // Commands // make_unique(Id, credsIssuerConfig), // - {{#chip_cluster_commands}} - make_unique<{{asUpperCamelCase clusterName}}{{asUpperCamelCase name}}>(credsIssuerConfig), // - {{/chip_cluster_commands}} + {{#zcl_commands_source_client}} + make_unique<{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}>(credsIssuerConfig), // + {{/zcl_commands_source_client}} // // Attributes // make_unique(Id, credsIssuerConfig), // - {{#chip_server_cluster_attributes}} + {{#zcl_attributes_server}} make_unique(Id, "{{asDelimitedCommand (asUpperCamelCase name)}}", Attributes::{{asUpperCamelCase name}}::Id, credsIssuerConfig), // - {{/chip_server_cluster_attributes}} + {{/zcl_attributes_server}} make_unique(Id, credsIssuerConfig), // - {{#chip_server_cluster_attributes}} - {{#if isWritableAttribute}} + {{#zcl_attributes_server}} + {{#if isWritable}} make_unique(credsIssuerConfig), // {{/if}} - {{/chip_server_cluster_attributes}} + {{/zcl_attributes_server}} make_unique(Id, credsIssuerConfig), // - {{#chip_server_cluster_attributes}} - {{#if isReportableAttribute}} + {{#zcl_attributes_server}} + {{#if isReportable}} make_unique(Id, "{{asDelimitedCommand (asUpperCamelCase name)}}", Attributes::{{asUpperCamelCase name}}::Id, credsIssuerConfig), // {{/if}} - {{/chip_server_cluster_attributes}} + {{/zcl_attributes_server}} // // Events // make_unique(Id, credsIssuerConfig), // - {{#chip_server_cluster_events}} + {{#zcl_events}} make_unique(Id, "{{asDelimitedCommand (asUpperCamelCase name)}}", Events::{{asUpperCamelCase name}}::Id, credsIssuerConfig), // - {{/chip_server_cluster_events}} + {{/zcl_events}} make_unique(Id, credsIssuerConfig), // - {{#chip_server_cluster_events}} + {{#zcl_events}} make_unique(Id, "{{asDelimitedCommand (asUpperCamelCase name)}}", Events::{{asUpperCamelCase name}}::Id, credsIssuerConfig), // - {{/chip_server_cluster_events}} + {{/zcl_events}} }; commands.Register(clusterName, clusterCommands); } -{{/chip_client_clusters}} +{{/zcl_clusters}} void registerClusterAny(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { @@ -166,7 +165,7 @@ void registerClusterAny(Commands & commands, CredentialIssuerCommands * credsIss void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { registerClusterAny(commands, credsIssuerConfig); -{{#chip_client_clusters}} +{{#zcl_clusters}} registerCluster{{asUpperCamelCase name}}(commands, credsIssuerConfig); -{{/chip_client_clusters}} +{{/zcl_clusters}} } diff --git a/examples/chip-tool/templates/logging/DataModelLogger-src.zapt b/examples/chip-tool/templates/logging/DataModelLogger-src.zapt index 78d6a524e08c9c..45a458e852d9bc 100644 --- a/examples/chip-tool/templates/logging/DataModelLogger-src.zapt +++ b/examples/chip-tool/templates/logging/DataModelLogger-src.zapt @@ -47,17 +47,17 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const {{ {{/zcl_clusters}} {{#chip_client_clusters}} -{{#chip_cluster_responses}} +{{#zcl_commands_source_server}} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const {{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - {{#chip_cluster_response_arguments}} + {{#zcl_command_arguments}} ReturnErrorOnFailure(DataModelLogger::LogValue("{{asLowerCamelCase label}}", indent + 1, value.{{asLowerCamelCase label}})); - {{/chip_cluster_response_arguments}} + {{/zcl_command_arguments}} DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } -{{/chip_cluster_responses}} +{{/zcl_commands_source_server}} {{/chip_client_clusters}} CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributePath & path, chip::TLV::TLVReader * data) @@ -68,7 +68,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mClusterId) { {{#chip_client_clusters}} -{{#chip_server_cluster_attributes}} +{{#zcl_attributes_server}} {{#first}} case {{asUpperCamelCase parent.name}}::Id: { @@ -77,7 +77,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP {{/first}} case {{asUpperCamelCase parent.name}}::Attributes::{{asUpperCamelCase name}}::Id: { - {{zapTypeToDecodableClusterObjectType type ns=parent.name}} value; + {{zapTypeToDecodableClusterObjectType type ns=parent.name forceNotOptional=true}} value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("{{name}}", 1, value); } @@ -86,7 +86,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP break; } {{/last}} -{{/chip_server_cluster_attributes}} +{{/zcl_attributes_server}} {{/chip_client_clusters}} default: break; @@ -103,7 +103,7 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa switch (path.mClusterId) { {{#chip_client_clusters}} -{{#chip_cluster_responses}} +{{#zcl_commands_source_server}} {{#first}} case {{asUpperCamelCase parent.name}}::Id: { @@ -121,7 +121,7 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa break; } {{/last}} -{{/chip_cluster_responses}} +{{/zcl_commands_source_server}} {{/chip_client_clusters}} default: break; diff --git a/examples/chip-tool/templates/logging/DataModelLogger.zapt b/examples/chip-tool/templates/logging/DataModelLogger.zapt index 122eb282b303fd..6b508bfeda7230 100644 --- a/examples/chip-tool/templates/logging/DataModelLogger.zapt +++ b/examples/chip-tool/templates/logging/DataModelLogger.zapt @@ -11,7 +11,7 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::C {{/zcl_clusters}} {{#chip_client_clusters}} -{{#chip_cluster_responses}} +{{#zcl_commands_source_server}} static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::{{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType & value); -{{/chip_cluster_responses}} +{{/zcl_commands_source_server}} {{/chip_client_clusters}} diff --git a/src/app/zap-templates/partials/cluster_header.zapt b/src/app/zap-templates/partials/cluster_header.zapt index f4827919527a71..a7a949264c25e9 100644 --- a/src/app/zap-templates/partials/cluster_header.zapt +++ b/src/app/zap-templates/partials/cluster_header.zapt @@ -2,17 +2,17 @@ {{pad (concat "| Cluster " (asUpperCamelCase name)) 70 ' '}}{{pad (concat "| " (asHex code 4)) 9 ' '}}| {{pad "|" 79 '-'}}| {{pad "| Commands: " 70 ' '}}{{pad "| " 9 ' '}}| -{{#chip_cluster_commands}} +{{#zcl_commands_source_client}} {{pad (concat "| * " (asUpperCamelCase name)) 70 ' '}}{{pad (concat "| " (asHex code 2)) 9 ' '}}| -{{/chip_cluster_commands}} +{{/zcl_commands_source_client}} {{pad "|" 79 '-'}}| {{pad "| Attributes: " 70 ' '}}{{pad "| " 9 ' '}}| -{{#chip_server_cluster_attributes}} +{{#zcl_attributes_server}} {{pad (concat "| * " (asUpperCamelCase name)) 70 ' '}}{{pad (concat "| " (asHex code 4)) 9 ' '}}| -{{/chip_server_cluster_attributes}} +{{/zcl_attributes_server}} {{pad "|" 79 '-'}}| {{pad "| Events: " 70 ' '}}{{pad "| " 9 ' '}}| -{{#chip_server_cluster_events}} +{{#zcl_events}} {{pad (concat "| * " (asUpperCamelCase name)) 70 ' '}}{{pad (concat "| " (asHex code 4)) 9 ' '}}| -{{/chip_server_cluster_events}} +{{/zcl_events}} {{pad '\*' 78 '-'}}*/ diff --git a/src/app/zap-templates/partials/clusters_header.zapt b/src/app/zap-templates/partials/clusters_header.zapt index 298e01d830f07e..deecb5556f8b73 100644 --- a/src/app/zap-templates/partials/clusters_header.zapt +++ b/src/app/zap-templates/partials/clusters_header.zapt @@ -1,7 +1,7 @@ {{pad '/*' 78 '-'}}*\ {{pad "| Cluster Name" 70 ' '}}{{pad "| ID" 9 ' '}}| {{pad "|" 70 '-'}}{{pad "+" 9 '-'}}| -{{#chip_clusters}} +{{#zcl_clusters}} {{pad (concat "| " (asUpperCamelCase name)) 70 " "}}{{pad (concat "| " (asHex code 4)) 9 ' '}}| -{{/chip_clusters}} +{{/zcl_clusters}} {{pad '\*' 78 '-'}}*/ diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index 18b05fb7e686cb..a7bf9148942059 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -478,6 +478,11 @@ function nsValueToNamespace(ns) */ async function zapTypeToClusterObjectType(type, isDecodable, options) { + // Use the entryType as a type + if (type == 'array' && this.entryType) { + type = this.entryType; + } + let passByReference = false; async function fn(pkgId) { diff --git a/src/app/zap-templates/templates/chip/helper.js b/src/app/zap-templates/templates/chip/helper.js index 4309bfc77c5258..385590899c1a58 100644 --- a/src/app/zap-templates/templates/chip/helper.js +++ b/src/app/zap-templates/templates/chip/helper.js @@ -470,6 +470,33 @@ async function if_chip_enum(type, options) return templateUtil.templatePromise(this.global, result); } +async function if_chip_complex(options) +{ + // `zcl_command_arguments` has an `isArray` property and `type` + // contains the array element type. + if (this.isArray) { + return options.fn(this); + } + + // zcl_attributes iterators does not expose an `isArray` property + // and `entryType` contains the array element type, while `type` + // contains the atomic type, which is array in this case. + // https://github.com/project-chip/zap/issues/412 + if (this.type == 'array') { + return options.fn(this); + } + + let pkgId = await templateUtil.ensureZclPackageId(this); + let checkResult = await zclHelper.isStruct(this.global.db, this.type, pkgId); + let result; + if (checkResult != 'unknown') { + result = options.fn(this); + } else { + result = options.inverse(this); + } + return templateUtil.templatePromise(this.global, result); +} + // // Module exports // @@ -494,6 +521,7 @@ exports.chip_available_cluster_commands = chip_available_cl exports.chip_endpoints = chip_endpoints; exports.chip_endpoint_clusters = chip_endpoint_clusters; exports.if_chip_enum = if_chip_enum; +exports.if_chip_complex = if_chip_complex; exports.if_in_global_responses = if_in_global_responses; exports.chip_cluster_specific_structs = chip_cluster_specific_structs; exports.chip_shared_structs = chip_shared_structs; diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 2b50fb7196d14c..d7d44f4ce10e34 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -32,2980 +32,2568 @@ /*----------------------------------------------------------------------------*\ | Cluster Name | ID | |---------------------------------------------------------------------+--------| -| AccessControl | 0x001F | -| AccountLogin | 0x050E | -| AdministratorCommissioning | 0x003C | -| ApplicationBasic | 0x050D | -| ApplicationLauncher | 0x050C | -| AudioOutput | 0x050B | -| BarrierControl | 0x0103 | -| Basic | 0x0028 | +| PowerConfiguration | 0x0001 | +| DeviceTemperatureConfiguration | 0x0002 | +| Identify | 0x0003 | +| Groups | 0x0004 | +| Scenes | 0x0005 | +| OnOff | 0x0006 | +| OnOffSwitchConfiguration | 0x0007 | +| LevelControl | 0x0008 | +| Alarms | 0x0009 | +| Time | 0x000A | | BinaryInputBasic | 0x000F | +| PowerProfile | 0x001A | +| ApplianceControl | 0x001B | +| PulseWidthModulation | 0x001C | +| Descriptor | 0x001D | | Binding | 0x001E | -| BooleanState | 0x0045 | +| AccessControl | 0x001F | +| PollControl | 0x0020 | | BridgedActions | 0x0025 | -| BridgedDeviceBasic | 0x0039 | -| Channel | 0x0504 | -| ColorControl | 0x0300 | -| ContentLauncher | 0x050A | -| Descriptor | 0x001D | -| DiagnosticLogs | 0x0032 | -| DoorLock | 0x0101 | -| ElectricalMeasurement | 0x0B04 | -| EthernetNetworkDiagnostics | 0x0037 | -| FixedLabel | 0x0040 | -| FlowMeasurement | 0x0404 | -| GeneralCommissioning | 0x0030 | -| GeneralDiagnostics | 0x0033 | -| GroupKeyManagement | 0x003F | -| Groups | 0x0004 | -| Identify | 0x0003 | -| IlluminanceMeasurement | 0x0400 | -| KeypadInput | 0x0509 | -| LevelControl | 0x0008 | -| LocalizationConfiguration | 0x002B | -| LowPower | 0x0508 | -| MediaInput | 0x0507 | -| MediaPlayback | 0x0506 | -| ModeSelect | 0x0050 | -| NetworkCommissioning | 0x0031 | +| Basic | 0x0028 | | OtaSoftwareUpdateProvider | 0x0029 | | OtaSoftwareUpdateRequestor | 0x002A | -| OccupancySensing | 0x0406 | -| OnOff | 0x0006 | -| OnOffSwitchConfiguration | 0x0007 | -| OperationalCredentials | 0x003E | -| PowerSource | 0x002F | +| LocalizationConfiguration | 0x002B | +| TimeFormatLocalization | 0x002C | +| UnitLocalization | 0x002D | | PowerSourceConfiguration | 0x002E | -| PressureMeasurement | 0x0403 | -| PumpConfigurationAndControl | 0x0200 | -| RelativeHumidityMeasurement | 0x0405 | -| Scenes | 0x0005 | +| PowerSource | 0x002F | +| GeneralCommissioning | 0x0030 | +| NetworkCommissioning | 0x0031 | +| DiagnosticLogs | 0x0032 | +| GeneralDiagnostics | 0x0033 | | SoftwareDiagnostics | 0x0034 | +| ThreadNetworkDiagnostics | 0x0035 | +| WiFiNetworkDiagnostics | 0x0036 | +| EthernetNetworkDiagnostics | 0x0037 | +| TimeSynchronization | 0x0038 | +| BridgedDeviceBasic | 0x0039 | | Switch | 0x003B | -| TargetNavigator | 0x0505 | -| TemperatureMeasurement | 0x0402 | -| TestCluster | 0x050F | +| AdministratorCommissioning | 0x003C | +| OperationalCredentials | 0x003E | +| GroupKeyManagement | 0x003F | +| FixedLabel | 0x0040 | +| UserLabel | 0x0041 | +| ProxyConfiguration | 0x0042 | +| ProxyDiscovery | 0x0043 | +| ProxyValid | 0x0044 | +| BooleanState | 0x0045 | +| ModeSelect | 0x0050 | +| ShadeConfiguration | 0x0100 | +| DoorLock | 0x0101 | +| WindowCovering | 0x0102 | +| BarrierControl | 0x0103 | +| PumpConfigurationAndControl | 0x0200 | | Thermostat | 0x0201 | +| FanControl | 0x0202 | +| DehumidificationControl | 0x0203 | | ThermostatUserInterfaceConfiguration | 0x0204 | -| ThreadNetworkDiagnostics | 0x0035 | -| TimeFormatLocalization | 0x002C | -| UnitLocalization | 0x002D | -| UserLabel | 0x0041 | +| ColorControl | 0x0300 | +| BallastConfiguration | 0x0301 | +| IlluminanceMeasurement | 0x0400 | +| TemperatureMeasurement | 0x0402 | +| PressureMeasurement | 0x0403 | +| FlowMeasurement | 0x0404 | +| RelativeHumidityMeasurement | 0x0405 | +| OccupancySensing | 0x0406 | +| CarbonMonoxideConcentrationMeasurement | 0x040C | +| CarbonDioxideConcentrationMeasurement | 0x040D | +| EthyleneConcentrationMeasurement | 0x040E | +| EthyleneOxideConcentrationMeasurement | 0x040F | +| HydrogenConcentrationMeasurement | 0x0410 | +| HydrogenSulphideConcentrationMeasurement | 0x0411 | +| NitricOxideConcentrationMeasurement | 0x0412 | +| NitrogenDioxideConcentrationMeasurement | 0x0413 | +| OxygenConcentrationMeasurement | 0x0414 | +| OzoneConcentrationMeasurement | 0x0415 | +| SulfurDioxideConcentrationMeasurement | 0x0416 | +| DissolvedOxygenConcentrationMeasurement | 0x0417 | +| BromateConcentrationMeasurement | 0x0418 | +| ChloraminesConcentrationMeasurement | 0x0419 | +| ChlorineConcentrationMeasurement | 0x041A | +| FecalColiformAndEColiConcentrationMeasurement | 0x041B | +| FluorideConcentrationMeasurement | 0x041C | +| HaloaceticAcidsConcentrationMeasurement | 0x041D | +| TotalTrihalomethanesConcentrationMeasurement | 0x041E | +| TotalColiformBacteriaConcentrationMeasurement | 0x041F | +| TurbidityConcentrationMeasurement | 0x0420 | +| CopperConcentrationMeasurement | 0x0421 | +| LeadConcentrationMeasurement | 0x0422 | +| ManganeseConcentrationMeasurement | 0x0423 | +| SulfateConcentrationMeasurement | 0x0424 | +| BromodichloromethaneConcentrationMeasurement | 0x0425 | +| BromoformConcentrationMeasurement | 0x0426 | +| ChlorodibromomethaneConcentrationMeasurement | 0x0427 | +| ChloroformConcentrationMeasurement | 0x0428 | +| SodiumConcentrationMeasurement | 0x0429 | +| IasZone | 0x0500 | +| IasAce | 0x0501 | +| IasWd | 0x0502 | | WakeOnLan | 0x0503 | -| WiFiNetworkDiagnostics | 0x0036 | -| WindowCovering | 0x0102 | +| Channel | 0x0504 | +| TargetNavigator | 0x0505 | +| MediaPlayback | 0x0506 | +| MediaInput | 0x0507 | +| LowPower | 0x0508 | +| KeypadInput | 0x0509 | +| ContentLauncher | 0x050A | +| AudioOutput | 0x050B | +| ApplicationLauncher | 0x050C | +| ApplicationBasic | 0x050D | +| AccountLogin | 0x050E | +| TestCluster | 0x050F | +| Messaging | 0x0703 | +| ApplianceIdentification | 0x0B00 | +| MeterIdentification | 0x0B01 | +| ApplianceEventsAndAlert | 0x0B02 | +| ApplianceStatistics | 0x0B03 | +| ElectricalMeasurement | 0x0B04 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster AccessControl | 0x001F | +| Cluster PowerConfiguration | 0x0001 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Acl | 0x0000 | -| * Extension | 0x0001 | +| * MainsVoltage | 0x0000 | +| * MainsFrequency | 0x0001 | +| * MainsAlarmMask | 0x0010 | +| * MainsVoltageMinThreshold | 0x0011 | +| * MainsVoltageMaxThreshold | 0x0012 | +| * MainsVoltageDwellTrip | 0x0013 | +| * BatteryVoltage | 0x0020 | +| * BatteryPercentageRemaining | 0x0021 | +| * BatteryManufacturer | 0x0030 | +| * BatterySize | 0x0031 | +| * BatteryAhrRating | 0x0032 | +| * BatteryQuantity | 0x0033 | +| * BatteryRatedVoltage | 0x0034 | +| * BatteryAlarmMask | 0x0035 | +| * BatteryVoltageMinThreshold | 0x0036 | +| * BatteryVoltageThreshold1 | 0x0037 | +| * BatteryVoltageThreshold2 | 0x0038 | +| * BatteryVoltageThreshold3 | 0x0039 | +| * BatteryPercentageMinThreshold | 0x003A | +| * BatteryPercentageThreshold1 | 0x003B | +| * BatteryPercentageThreshold2 | 0x003C | +| * BatteryPercentageThreshold3 | 0x003D | +| * BatteryAlarmState | 0x003E | +| * Battery2Voltage | 0x0040 | +| * Battery2PercentageRemaining | 0x0041 | +| * Battery2Manufacturer | 0x0050 | +| * Battery2Size | 0x0051 | +| * Battery2AhrRating | 0x0052 | +| * Battery2Quantity | 0x0053 | +| * Battery2RatedVoltage | 0x0054 | +| * Battery2AlarmMask | 0x0055 | +| * Battery2VoltageMinThreshold | 0x0056 | +| * Battery2VoltageThreshold1 | 0x0057 | +| * Battery2VoltageThreshold2 | 0x0058 | +| * Battery2VoltageThreshold3 | 0x0059 | +| * Battery2PercentageMinThreshold | 0x005A | +| * Battery2PercentageThreshold1 | 0x005B | +| * Battery2PercentageThreshold2 | 0x005C | +| * Battery2PercentageThreshold3 | 0x005D | +| * Battery2AlarmState | 0x005E | +| * Battery3Voltage | 0x0060 | +| * Battery3PercentageRemaining | 0x0061 | +| * Battery3Manufacturer | 0x0070 | +| * Battery3Size | 0x0071 | +| * Battery3AhrRating | 0x0072 | +| * Battery3Quantity | 0x0073 | +| * Battery3RatedVoltage | 0x0074 | +| * Battery3AlarmMask | 0x0075 | +| * Battery3VoltageMinThreshold | 0x0076 | +| * Battery3VoltageThreshold1 | 0x0077 | +| * Battery3VoltageThreshold2 | 0x0078 | +| * Battery3VoltageThreshold3 | 0x0079 | +| * Battery3PercentageMinThreshold | 0x007A | +| * Battery3PercentageThreshold1 | 0x007B | +| * Battery3PercentageThreshold2 | 0x007C | +| * Battery3PercentageThreshold3 | 0x007D | +| * Battery3AlarmState | 0x007E | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * AccessControlEntryChanged | 0x0000 | -| * AccessControlExtensionChanged | 0x0001 | \*----------------------------------------------------------------------------*/ -class WriteAccessControlAcl : public WriteAttribute +class WritePowerConfigurationMainsAlarmMask : public WriteAttribute { public: - WriteAccessControlAcl(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("Acl", credsIssuerConfig), mComplex(&mValue) + WritePowerConfigurationMainsAlarmMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("MainsAlarmMask", credsIssuerConfig) { - AddArgument("attr-name", "acl"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "mains-alarm-mask"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteAccessControlAcl() {} + ~WritePowerConfigurationMainsAlarmMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000001F, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000010, mValue); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> - mComplex; + uint8_t mValue; }; -class WriteAccessControlExtension : public WriteAttribute +class WritePowerConfigurationMainsVoltageMinThreshold : public WriteAttribute { public: - WriteAccessControlExtension(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("Extension", credsIssuerConfig), mComplex(&mValue) + WritePowerConfigurationMainsVoltageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("MainsVoltageMinThreshold", credsIssuerConfig) { - AddArgument("attr-name", "extension"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "mains-voltage-min-threshold"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteAccessControlExtension() {} + ~WritePowerConfigurationMainsVoltageMinThreshold() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000001F, 0x00000001, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000011, mValue); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> - mComplex; + uint16_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster AccountLogin | 0x050E | -|------------------------------------------------------------------------------| -| Commands: | | -| * GetSetupPINRequest | 0x00 | -| * LoginRequest | 0x02 | -| * LogoutRequest | 0x03 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command GetSetupPINRequest - */ -class AccountLoginGetSetupPINRequest : public ClusterCommand +class WritePowerConfigurationMainsVoltageMaxThreshold : public WriteAttribute { public: - AccountLoginGetSetupPINRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-setup-pinrequest", credsIssuerConfig) + WritePowerConfigurationMainsVoltageMaxThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("MainsVoltageMaxThreshold", credsIssuerConfig) { - AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "mains-voltage-max-threshold"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationMainsVoltageMaxThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050E, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000012, mValue); } private: - chip::app::Clusters::AccountLogin::Commands::GetSetupPINRequest::Type mRequest; + uint16_t mValue; }; -/* - * Command LoginRequest - */ -class AccountLoginLoginRequest : public ClusterCommand +class WritePowerConfigurationMainsVoltageDwellTrip : public WriteAttribute { public: - AccountLoginLoginRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("login-request", credsIssuerConfig) + WritePowerConfigurationMainsVoltageDwellTrip(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("MainsVoltageDwellTrip", credsIssuerConfig) { - AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); - AddArgument("SetupPIN", &mRequest.setupPIN); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "mains-voltage-dwell-trip"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationMainsVoltageDwellTrip() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050E, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000013, mValue); } private: - chip::app::Clusters::AccountLogin::Commands::LoginRequest::Type mRequest; + uint16_t mValue; }; -/* - * Command LogoutRequest - */ -class AccountLoginLogoutRequest : public ClusterCommand +class WritePowerConfigurationBatteryManufacturer : public WriteAttribute { public: - AccountLoginLogoutRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("logout-request", credsIssuerConfig) + WritePowerConfigurationBatteryManufacturer(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryManufacturer", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-manufacturer"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryManufacturer() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050E, 0x00000003, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000030, mValue); } private: - chip::app::Clusters::AccountLogin::Commands::LogoutRequest::Type mRequest; + chip::CharSpan mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster AdministratorCommissioning | 0x003C | -|------------------------------------------------------------------------------| -| Commands: | | -| * OpenBasicCommissioningWindow | 0x01 | -| * OpenCommissioningWindow | 0x00 | -| * RevokeCommissioning | 0x02 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * WindowStatus | 0x0000 | -| * AdminFabricIndex | 0x0001 | -| * AdminVendorId | 0x0002 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command OpenBasicCommissioningWindow - */ -class AdministratorCommissioningOpenBasicCommissioningWindow : public ClusterCommand +class WritePowerConfigurationBatterySize : public WriteAttribute { public: - AdministratorCommissioningOpenBasicCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("open-basic-commissioning-window", credsIssuerConfig) + WritePowerConfigurationBatterySize(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatterySize", credsIssuerConfig) { - AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-size"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatterySize() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003C, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000031, mValue); } private: - chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type mRequest; + uint8_t mValue; }; -/* - * Command OpenCommissioningWindow - */ -class AdministratorCommissioningOpenCommissioningWindow : public ClusterCommand +class WritePowerConfigurationBatteryAhrRating : public WriteAttribute { public: - AdministratorCommissioningOpenCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("open-commissioning-window", credsIssuerConfig) + WritePowerConfigurationBatteryAhrRating(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryAhrRating", credsIssuerConfig) { - AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout); - AddArgument("PAKEVerifier", &mRequest.PAKEVerifier); - AddArgument("Discriminator", 0, UINT16_MAX, &mRequest.discriminator); - AddArgument("Iterations", 0, UINT32_MAX, &mRequest.iterations); - AddArgument("Salt", &mRequest.salt); - AddArgument("PasscodeID", 0, UINT16_MAX, &mRequest.passcodeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-ahr-rating"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryAhrRating() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003C, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000032, mValue); } private: - chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type mRequest; + uint16_t mValue; }; -/* - * Command RevokeCommissioning - */ -class AdministratorCommissioningRevokeCommissioning : public ClusterCommand +class WritePowerConfigurationBatteryQuantity : public WriteAttribute { public: - AdministratorCommissioningRevokeCommissioning(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("revoke-commissioning", credsIssuerConfig) + WritePowerConfigurationBatteryQuantity(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryQuantity", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-quantity"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryQuantity() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003C, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000033, mValue); } private: - chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster ApplicationBasic | 0x050D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * VendorName | 0x0000 | -| * VendorId | 0x0001 | -| * ApplicationName | 0x0002 | -| * ProductId | 0x0003 | -| * ApplicationApp | 0x0004 | -| * ApplicationStatus | 0x0005 | -| * ApplicationVersion | 0x0006 | -| * AllowedVendorList | 0x0007 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +class WritePowerConfigurationBatteryRatedVoltage : public WriteAttribute +{ +public: + WritePowerConfigurationBatteryRatedVoltage(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryRatedVoltage", credsIssuerConfig) + { + AddArgument("attr-name", "battery-rated-voltage"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster ApplicationLauncher | 0x050C | -|------------------------------------------------------------------------------| -| Commands: | | -| * HideAppRequest | 0x02 | -| * LaunchAppRequest | 0x00 | -| * StopAppRequest | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ApplicationLauncherList | 0x0000 | -| * ApplicationLauncherApp | 0x0001 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + ~WritePowerConfigurationBatteryRatedVoltage() {} -/* - * Command HideAppRequest - */ -class ApplicationLauncherHideAppRequest : public ClusterCommand + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000034, mValue); + } + +private: + uint8_t mValue; +}; + +class WritePowerConfigurationBatteryAlarmMask : public WriteAttribute { public: - ApplicationLauncherHideAppRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("hide-app-request", credsIssuerConfig), mComplex_Application(&mRequest.application) + WritePowerConfigurationBatteryAlarmMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryAlarmMask", credsIssuerConfig) { - AddArgument("Application", &mComplex_Application); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-alarm-mask"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryAlarmMask() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050C, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000035, mValue); } private: - chip::app::Clusters::ApplicationLauncher::Commands::HideAppRequest::Type mRequest; - TypedComplexArgument mComplex_Application; + uint8_t mValue; }; -/* - * Command LaunchAppRequest - */ -class ApplicationLauncherLaunchAppRequest : public ClusterCommand +class WritePowerConfigurationBatteryVoltageMinThreshold : public WriteAttribute { public: - ApplicationLauncherLaunchAppRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("launch-app-request", credsIssuerConfig), mComplex_Application(&mRequest.application) + WritePowerConfigurationBatteryVoltageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryVoltageMinThreshold", credsIssuerConfig) { - AddArgument("Application", &mComplex_Application); - AddArgument("Data", &mRequest.data); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-voltage-min-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryVoltageMinThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050C, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000036, mValue); } private: - chip::app::Clusters::ApplicationLauncher::Commands::LaunchAppRequest::Type mRequest; - TypedComplexArgument mComplex_Application; + uint8_t mValue; }; -/* - * Command StopAppRequest - */ -class ApplicationLauncherStopAppRequest : public ClusterCommand +class WritePowerConfigurationBatteryVoltageThreshold1 : public WriteAttribute { public: - ApplicationLauncherStopAppRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("stop-app-request", credsIssuerConfig), mComplex_Application(&mRequest.application) + WritePowerConfigurationBatteryVoltageThreshold1(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryVoltageThreshold1", credsIssuerConfig) { - AddArgument("Application", &mComplex_Application); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-voltage-threshold1"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryVoltageThreshold1() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050C, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000037, mValue); } private: - chip::app::Clusters::ApplicationLauncher::Commands::StopAppRequest::Type mRequest; - TypedComplexArgument mComplex_Application; + uint8_t mValue; }; -class WriteApplicationLauncherApplicationLauncherApp : public WriteAttribute +class WritePowerConfigurationBatteryVoltageThreshold2 : public WriteAttribute { public: - WriteApplicationLauncherApplicationLauncherApp(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ApplicationLauncherApp", credsIssuerConfig), mComplex(&mValue) + WritePowerConfigurationBatteryVoltageThreshold2(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryVoltageThreshold2", credsIssuerConfig) { - AddArgument("attr-name", "application-launcher-app"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "battery-voltage-threshold2"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteApplicationLauncherApplicationLauncherApp() {} + ~WritePowerConfigurationBatteryVoltageThreshold2() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050C, 0x00000001, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000038, mValue); } private: - chip::app::DataModel::Nullable mValue; - TypedComplexArgument> - mComplex; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster AudioOutput | 0x050B | -|------------------------------------------------------------------------------| -| Commands: | | -| * RenameOutputRequest | 0x01 | -| * SelectOutputRequest | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * AudioOutputList | 0x0000 | -| * CurrentAudioOutput | 0x0001 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command RenameOutputRequest - */ -class AudioOutputRenameOutputRequest : public ClusterCommand +class WritePowerConfigurationBatteryVoltageThreshold3 : public WriteAttribute { public: - AudioOutputRenameOutputRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("rename-output-request", credsIssuerConfig) + WritePowerConfigurationBatteryVoltageThreshold3(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryVoltageThreshold3", credsIssuerConfig) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); - AddArgument("Name", &mRequest.name); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-voltage-threshold3"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryVoltageThreshold3() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050B, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000039, mValue); } private: - chip::app::Clusters::AudioOutput::Commands::RenameOutputRequest::Type mRequest; + uint8_t mValue; }; -/* - * Command SelectOutputRequest - */ -class AudioOutputSelectOutputRequest : public ClusterCommand +class WritePowerConfigurationBatteryPercentageMinThreshold : public WriteAttribute { public: - AudioOutputSelectOutputRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("select-output-request", credsIssuerConfig) + WritePowerConfigurationBatteryPercentageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryPercentageMinThreshold", credsIssuerConfig) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-percentage-min-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryPercentageMinThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050B, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000003A, mValue); } private: - chip::app::Clusters::AudioOutput::Commands::SelectOutputRequest::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster BarrierControl | 0x0103 | -|------------------------------------------------------------------------------| -| Commands: | | -| * BarrierControlGoToPercent | 0x00 | -| * BarrierControlStop | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * BarrierMovingState | 0x0001 | -| * BarrierSafetyStatus | 0x0002 | -| * BarrierCapabilities | 0x0003 | -| * BarrierPosition | 0x000A | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command BarrierControlGoToPercent - */ -class BarrierControlBarrierControlGoToPercent : public ClusterCommand +class WritePowerConfigurationBatteryPercentageThreshold1 : public WriteAttribute { public: - BarrierControlBarrierControlGoToPercent(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("barrier-control-go-to-percent", credsIssuerConfig) + WritePowerConfigurationBatteryPercentageThreshold1(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryPercentageThreshold1", credsIssuerConfig) { - AddArgument("PercentOpen", 0, UINT8_MAX, &mRequest.percentOpen); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-percentage-threshold1"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryPercentageThreshold1() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000103, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000003B, mValue); } private: - chip::app::Clusters::BarrierControl::Commands::BarrierControlGoToPercent::Type mRequest; + uint8_t mValue; }; -/* - * Command BarrierControlStop - */ -class BarrierControlBarrierControlStop : public ClusterCommand +class WritePowerConfigurationBatteryPercentageThreshold2 : public WriteAttribute { public: - BarrierControlBarrierControlStop(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("barrier-control-stop", credsIssuerConfig) + WritePowerConfigurationBatteryPercentageThreshold2(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryPercentageThreshold2", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery-percentage-threshold2"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBatteryPercentageThreshold2() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on endpoint %" PRIu16, endpointId); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000003C, mValue); + } - return ClusterCommand::SendCommand(device, endpointId, 0x00000103, 0x00000001, mRequest); +private: + uint8_t mValue; +}; + +class WritePowerConfigurationBatteryPercentageThreshold3 : public WriteAttribute +{ +public: + WritePowerConfigurationBatteryPercentageThreshold3(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BatteryPercentageThreshold3", credsIssuerConfig) + { + AddArgument("attr-name", "battery-percentage-threshold3"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WritePowerConfigurationBatteryPercentageThreshold3() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000003D, mValue); } private: - chip::app::Clusters::BarrierControl::Commands::BarrierControlStop::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster Basic | 0x0028 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * DataModelRevision | 0x0000 | -| * VendorName | 0x0001 | -| * VendorID | 0x0002 | -| * ProductName | 0x0003 | -| * ProductID | 0x0004 | -| * NodeLabel | 0x0005 | -| * Location | 0x0006 | -| * HardwareVersion | 0x0007 | -| * HardwareVersionString | 0x0008 | -| * SoftwareVersion | 0x0009 | -| * SoftwareVersionString | 0x000A | -| * ManufacturingDate | 0x000B | -| * PartNumber | 0x000C | -| * ProductURL | 0x000D | -| * ProductLabel | 0x000E | -| * SerialNumber | 0x000F | -| * LocalConfigDisabled | 0x0010 | -| * Reachable | 0x0011 | -| * UniqueID | 0x0012 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * StartUp | 0x0000 | -| * ShutDown | 0x0001 | -| * Leave | 0x0002 | -| * ReachableChanged | 0x0003 | -\*----------------------------------------------------------------------------*/ - -class WriteBasicNodeLabel : public WriteAttribute +class WritePowerConfigurationBattery2Manufacturer : public WriteAttribute { public: - WriteBasicNodeLabel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NodeLabel", credsIssuerConfig) + WritePowerConfigurationBattery2Manufacturer(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2Manufacturer", credsIssuerConfig) { - AddArgument("attr-name", "node-label"); + AddArgument("attr-name", "battery2manufacturer"); AddArgument("attr-value", &mValue); WriteAttribute::AddArguments(); } - ~WriteBasicNodeLabel() {} + ~WritePowerConfigurationBattery2Manufacturer() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000028, 0x00000005, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000050, mValue); } private: chip::CharSpan mValue; }; -class WriteBasicLocation : public WriteAttribute +class WritePowerConfigurationBattery2Size : public WriteAttribute { public: - WriteBasicLocation(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Location", credsIssuerConfig) + WritePowerConfigurationBattery2Size(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2Size", credsIssuerConfig) { - AddArgument("attr-name", "location"); - AddArgument("attr-value", &mValue); + AddArgument("attr-name", "battery2size"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteBasicLocation() {} + ~WritePowerConfigurationBattery2Size() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000028, 0x00000006, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000051, mValue); } private: - chip::CharSpan mValue; + uint8_t mValue; }; -class WriteBasicLocalConfigDisabled : public WriteAttribute +class WritePowerConfigurationBattery2AhrRating : public WriteAttribute { public: - WriteBasicLocalConfigDisabled(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("LocalConfigDisabled", credsIssuerConfig) + WritePowerConfigurationBattery2AhrRating(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2AhrRating", credsIssuerConfig) { - AddArgument("attr-name", "local-config-disabled"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "battery2ahr-rating"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteBasicLocalConfigDisabled() {} + ~WritePowerConfigurationBattery2AhrRating() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000028, 0x00000010, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000052, mValue); } private: - bool mValue; + uint16_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster BinaryInputBasic | 0x000F | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * OutOfService | 0x0051 | -| * PresentValue | 0x0055 | -| * StatusFlags | 0x006F | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -class WriteBinaryInputBasicOutOfService : public WriteAttribute +class WritePowerConfigurationBattery2Quantity : public WriteAttribute { public: - WriteBinaryInputBasicOutOfService(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OutOfService", credsIssuerConfig) + WritePowerConfigurationBattery2Quantity(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2Quantity", credsIssuerConfig) { - AddArgument("attr-name", "out-of-service"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "battery2quantity"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteBinaryInputBasicOutOfService() {} + ~WritePowerConfigurationBattery2Quantity() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x00000051, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000053, mValue); } private: - bool mValue; + uint8_t mValue; }; -class WriteBinaryInputBasicPresentValue : public WriteAttribute +class WritePowerConfigurationBattery2RatedVoltage : public WriteAttribute { public: - WriteBinaryInputBasicPresentValue(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("PresentValue", credsIssuerConfig) + WritePowerConfigurationBattery2RatedVoltage(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2RatedVoltage", credsIssuerConfig) { - AddArgument("attr-name", "present-value"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "battery2rated-voltage"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteBinaryInputBasicPresentValue() {} + ~WritePowerConfigurationBattery2RatedVoltage() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x00000055, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000054, mValue); } private: - bool mValue; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster Binding | 0x001E | -|------------------------------------------------------------------------------| -| Commands: | | -| * Bind | 0x00 | -| * Unbind | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command Bind - */ -class BindingBind : public ClusterCommand +class WritePowerConfigurationBattery2AlarmMask : public WriteAttribute { public: - BindingBind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("bind", credsIssuerConfig) + WritePowerConfigurationBattery2AlarmMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2AlarmMask", credsIssuerConfig) { - AddArgument("NodeId", 0, UINT64_MAX, &mRequest.nodeId); - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("EndpointId", 0, UINT16_MAX, &mRequest.endpointId); - AddArgument("ClusterId", 0, UINT32_MAX, &mRequest.clusterId); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2alarm-mask"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2AlarmMask() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001E) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000001E, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000055, mValue); } private: - chip::app::Clusters::Binding::Commands::Bind::Type mRequest; + uint8_t mValue; }; -/* - * Command Unbind - */ -class BindingUnbind : public ClusterCommand +class WritePowerConfigurationBattery2VoltageMinThreshold : public WriteAttribute { public: - BindingUnbind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unbind", credsIssuerConfig) + WritePowerConfigurationBattery2VoltageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2VoltageMinThreshold", credsIssuerConfig) { - AddArgument("NodeId", 0, UINT64_MAX, &mRequest.nodeId); - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("EndpointId", 0, UINT16_MAX, &mRequest.endpointId); - AddArgument("ClusterId", 0, UINT32_MAX, &mRequest.clusterId); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2voltage-min-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2VoltageMinThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001E) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000001E, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000056, mValue); } private: - chip::app::Clusters::Binding::Commands::Unbind::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster BooleanState | 0x0045 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * StateValue | 0x0000 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * StateChange | 0x0000 | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster BridgedActions | 0x0025 | -|------------------------------------------------------------------------------| -| Commands: | | -| * DisableAction | 0x0A | -| * DisableActionWithDuration | 0x0B | -| * EnableAction | 0x08 | -| * EnableActionWithDuration | 0x09 | -| * InstantAction | 0x00 | -| * InstantActionWithTransition | 0x01 | -| * PauseAction | 0x05 | -| * PauseActionWithDuration | 0x06 | -| * ResumeAction | 0x07 | -| * StartAction | 0x02 | -| * StartActionWithDuration | 0x03 | -| * StopAction | 0x04 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ActionList | 0x0000 | -| * EndpointList | 0x0001 | -| * SetupUrl | 0x0002 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * StateChanged | 0x0000 | -| * ActionFailed | 0x0001 | -\*----------------------------------------------------------------------------*/ - -/* - * Command DisableAction - */ -class BridgedActionsDisableAction : public ClusterCommand +class WritePowerConfigurationBattery2VoltageThreshold1 : public WriteAttribute { public: - BridgedActionsDisableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("disable-action", credsIssuerConfig) + WritePowerConfigurationBattery2VoltageThreshold1(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2VoltageThreshold1", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2voltage-threshold1"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2VoltageThreshold1() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x0000000A, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000057, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::DisableAction::Type mRequest; + uint8_t mValue; }; -/* - * Command DisableActionWithDuration - */ -class BridgedActionsDisableActionWithDuration : public ClusterCommand +class WritePowerConfigurationBattery2VoltageThreshold2 : public WriteAttribute { public: - BridgedActionsDisableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("disable-action-with-duration", credsIssuerConfig) + WritePowerConfigurationBattery2VoltageThreshold2(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2VoltageThreshold2", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2voltage-threshold2"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2VoltageThreshold2() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x0000000B, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000058, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::DisableActionWithDuration::Type mRequest; + uint8_t mValue; }; -/* - * Command EnableAction - */ -class BridgedActionsEnableAction : public ClusterCommand +class WritePowerConfigurationBattery2VoltageThreshold3 : public WriteAttribute { public: - BridgedActionsEnableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enable-action", credsIssuerConfig) + WritePowerConfigurationBattery2VoltageThreshold3(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2VoltageThreshold3", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2voltage-threshold3"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2VoltageThreshold3() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000008, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000059, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::EnableAction::Type mRequest; + uint8_t mValue; }; -/* - * Command EnableActionWithDuration - */ -class BridgedActionsEnableActionWithDuration : public ClusterCommand +class WritePowerConfigurationBattery2PercentageMinThreshold : public WriteAttribute { public: - BridgedActionsEnableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enable-action-with-duration", credsIssuerConfig) + WritePowerConfigurationBattery2PercentageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2PercentageMinThreshold", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2percentage-min-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2PercentageMinThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000009, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000005A, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::EnableActionWithDuration::Type mRequest; + uint8_t mValue; }; -/* - * Command InstantAction - */ -class BridgedActionsInstantAction : public ClusterCommand +class WritePowerConfigurationBattery2PercentageThreshold1 : public WriteAttribute { public: - BridgedActionsInstantAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("instant-action", credsIssuerConfig) + WritePowerConfigurationBattery2PercentageThreshold1(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2PercentageThreshold1", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2percentage-threshold1"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2PercentageThreshold1() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000005B, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::InstantAction::Type mRequest; + uint8_t mValue; }; -/* - * Command InstantActionWithTransition - */ -class BridgedActionsInstantActionWithTransition : public ClusterCommand +class WritePowerConfigurationBattery2PercentageThreshold2 : public WriteAttribute { public: - BridgedActionsInstantActionWithTransition(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("instant-action-with-transition", credsIssuerConfig) + WritePowerConfigurationBattery2PercentageThreshold2(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2PercentageThreshold2", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2percentage-threshold2"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2PercentageThreshold2() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000005C, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::InstantActionWithTransition::Type mRequest; + uint8_t mValue; }; -/* - * Command PauseAction - */ -class BridgedActionsPauseAction : public ClusterCommand +class WritePowerConfigurationBattery2PercentageThreshold3 : public WriteAttribute { public: - BridgedActionsPauseAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-action", credsIssuerConfig) + WritePowerConfigurationBattery2PercentageThreshold3(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery2PercentageThreshold3", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery2percentage-threshold3"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery2PercentageThreshold3() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000005, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000005D, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::PauseAction::Type mRequest; + uint8_t mValue; }; -/* - * Command PauseActionWithDuration - */ -class BridgedActionsPauseActionWithDuration : public ClusterCommand +class WritePowerConfigurationBattery3Manufacturer : public WriteAttribute { public: - BridgedActionsPauseActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("pause-action-with-duration", credsIssuerConfig) + WritePowerConfigurationBattery3Manufacturer(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3Manufacturer", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3manufacturer"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3Manufacturer() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000006, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000070, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::PauseActionWithDuration::Type mRequest; + chip::CharSpan mValue; }; -/* - * Command ResumeAction - */ -class BridgedActionsResumeAction : public ClusterCommand +class WritePowerConfigurationBattery3Size : public WriteAttribute { public: - BridgedActionsResumeAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("resume-action", credsIssuerConfig) + WritePowerConfigurationBattery3Size(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3Size", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3size"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3Size() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000007, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000071, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::ResumeAction::Type mRequest; + uint8_t mValue; }; -/* - * Command StartAction - */ -class BridgedActionsStartAction : public ClusterCommand +class WritePowerConfigurationBattery3AhrRating : public WriteAttribute { public: - BridgedActionsStartAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-action", credsIssuerConfig) + WritePowerConfigurationBattery3AhrRating(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3AhrRating", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3ahr-rating"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3AhrRating() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000072, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::StartAction::Type mRequest; + uint16_t mValue; }; -/* - * Command StartActionWithDuration - */ -class BridgedActionsStartActionWithDuration : public ClusterCommand +class WritePowerConfigurationBattery3Quantity : public WriteAttribute { public: - BridgedActionsStartActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("start-action-with-duration", credsIssuerConfig) + WritePowerConfigurationBattery3Quantity(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3Quantity", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3quantity"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3Quantity() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000003, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000073, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::StartActionWithDuration::Type mRequest; + uint8_t mValue; }; -/* - * Command StopAction - */ -class BridgedActionsStopAction : public ClusterCommand +class WritePowerConfigurationBattery3RatedVoltage : public WriteAttribute { public: - BridgedActionsStopAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-action", credsIssuerConfig) + WritePowerConfigurationBattery3RatedVoltage(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3RatedVoltage", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3rated-voltage"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3RatedVoltage() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000004, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000074, mValue); } private: - chip::app::Clusters::BridgedActions::Commands::StopAction::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster BridgedDeviceBasic | 0x0039 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * VendorName | 0x0001 | -| * VendorID | 0x0002 | -| * ProductName | 0x0003 | -| * NodeLabel | 0x0005 | -| * HardwareVersion | 0x0007 | -| * HardwareVersionString | 0x0008 | -| * SoftwareVersion | 0x0009 | -| * SoftwareVersionString | 0x000A | -| * ManufacturingDate | 0x000B | -| * PartNumber | 0x000C | -| * ProductURL | 0x000D | -| * ProductLabel | 0x000E | -| * SerialNumber | 0x000F | -| * Reachable | 0x0011 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * StartUp | 0x0000 | -| * ShutDown | 0x0001 | -| * Leave | 0x0002 | -| * ReachableChanged | 0x0003 | -\*----------------------------------------------------------------------------*/ - -class WriteBridgedDeviceBasicNodeLabel : public WriteAttribute +class WritePowerConfigurationBattery3AlarmMask : public WriteAttribute { public: - WriteBridgedDeviceBasicNodeLabel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NodeLabel", credsIssuerConfig) + WritePowerConfigurationBattery3AlarmMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3AlarmMask", credsIssuerConfig) { - AddArgument("attr-name", "node-label"); - AddArgument("attr-value", &mValue); + AddArgument("attr-name", "battery3alarm-mask"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteBridgedDeviceBasicNodeLabel() {} + ~WritePowerConfigurationBattery3AlarmMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000039, 0x00000005, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000075, mValue); } private: - chip::CharSpan mValue; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster Channel | 0x0504 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ChangeChannelByNumberRequest | 0x02 | -| * ChangeChannelRequest | 0x00 | -| * SkipChannelRequest | 0x03 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ChannelList | 0x0000 | -| * ChannelLineup | 0x0001 | -| * CurrentChannel | 0x0002 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command ChangeChannelByNumberRequest - */ -class ChannelChangeChannelByNumberRequest : public ClusterCommand +class WritePowerConfigurationBattery3VoltageMinThreshold : public WriteAttribute { public: - ChannelChangeChannelByNumberRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("change-channel-by-number-request", credsIssuerConfig) + WritePowerConfigurationBattery3VoltageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3VoltageMinThreshold", credsIssuerConfig) { - AddArgument("MajorNumber", 0, UINT16_MAX, &mRequest.majorNumber); - AddArgument("MinorNumber", 0, UINT16_MAX, &mRequest.minorNumber); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3voltage-min-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3VoltageMinThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000504, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000076, mValue); } private: - chip::app::Clusters::Channel::Commands::ChangeChannelByNumberRequest::Type mRequest; + uint8_t mValue; }; -/* - * Command ChangeChannelRequest - */ -class ChannelChangeChannelRequest : public ClusterCommand +class WritePowerConfigurationBattery3VoltageThreshold1 : public WriteAttribute { public: - ChannelChangeChannelRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("change-channel-request", credsIssuerConfig) + WritePowerConfigurationBattery3VoltageThreshold1(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3VoltageThreshold1", credsIssuerConfig) { - AddArgument("Match", &mRequest.match); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3voltage-threshold1"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3VoltageThreshold1() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000504, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000077, mValue); } private: - chip::app::Clusters::Channel::Commands::ChangeChannelRequest::Type mRequest; + uint8_t mValue; }; -/* - * Command SkipChannelRequest - */ -class ChannelSkipChannelRequest : public ClusterCommand +class WritePowerConfigurationBattery3VoltageThreshold2 : public WriteAttribute { public: - ChannelSkipChannelRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("skip-channel-request", credsIssuerConfig) + WritePowerConfigurationBattery3VoltageThreshold2(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3VoltageThreshold2", credsIssuerConfig) { - AddArgument("Count", 0, UINT16_MAX, &mRequest.count); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3voltage-threshold2"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3VoltageThreshold2() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000504, 0x00000003, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000078, mValue); } private: - chip::app::Clusters::Channel::Commands::SkipChannelRequest::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster ColorControl | 0x0300 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ColorLoopSet | 0x44 | -| * EnhancedMoveHue | 0x41 | -| * EnhancedMoveToHue | 0x40 | -| * EnhancedMoveToHueAndSaturation | 0x43 | -| * EnhancedStepHue | 0x42 | -| * MoveColor | 0x08 | -| * MoveColorTemperature | 0x4B | -| * MoveHue | 0x01 | -| * MoveSaturation | 0x04 | -| * MoveToColor | 0x07 | -| * MoveToColorTemperature | 0x0A | -| * MoveToHue | 0x00 | -| * MoveToHueAndSaturation | 0x06 | -| * MoveToSaturation | 0x03 | -| * StepColor | 0x09 | -| * StepColorTemperature | 0x4C | -| * StepHue | 0x02 | -| * StepSaturation | 0x05 | -| * StopMoveStep | 0x47 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * CurrentHue | 0x0000 | -| * CurrentSaturation | 0x0001 | -| * RemainingTime | 0x0002 | -| * CurrentX | 0x0003 | -| * CurrentY | 0x0004 | -| * DriftCompensation | 0x0005 | -| * CompensationText | 0x0006 | -| * ColorTemperature | 0x0007 | -| * ColorMode | 0x0008 | -| * ColorControlOptions | 0x000F | -| * NumberOfPrimaries | 0x0010 | -| * Primary1X | 0x0011 | -| * Primary1Y | 0x0012 | -| * Primary1Intensity | 0x0013 | -| * Primary2X | 0x0015 | -| * Primary2Y | 0x0016 | -| * Primary2Intensity | 0x0017 | -| * Primary3X | 0x0019 | -| * Primary3Y | 0x001A | -| * Primary3Intensity | 0x001B | -| * Primary4X | 0x0020 | -| * Primary4Y | 0x0021 | -| * Primary4Intensity | 0x0022 | -| * Primary5X | 0x0024 | -| * Primary5Y | 0x0025 | -| * Primary5Intensity | 0x0026 | -| * Primary6X | 0x0028 | -| * Primary6Y | 0x0029 | -| * Primary6Intensity | 0x002A | -| * WhitePointX | 0x0030 | -| * WhitePointY | 0x0031 | -| * ColorPointRX | 0x0032 | -| * ColorPointRY | 0x0033 | -| * ColorPointRIntensity | 0x0034 | -| * ColorPointGX | 0x0036 | -| * ColorPointGY | 0x0037 | -| * ColorPointGIntensity | 0x0038 | -| * ColorPointBX | 0x003A | -| * ColorPointBY | 0x003B | -| * ColorPointBIntensity | 0x003C | -| * EnhancedCurrentHue | 0x4000 | -| * EnhancedColorMode | 0x4001 | -| * ColorLoopActive | 0x4002 | -| * ColorLoopDirection | 0x4003 | -| * ColorLoopTime | 0x4004 | -| * ColorLoopStartEnhancedHue | 0x4005 | -| * ColorLoopStoredEnhancedHue | 0x4006 | -| * ColorCapabilities | 0x400A | -| * ColorTempPhysicalMin | 0x400B | -| * ColorTempPhysicalMax | 0x400C | -| * CoupleColorTempToLevelMinMireds | 0x400D | -| * StartUpColorTemperatureMireds | 0x4010 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command ColorLoopSet - */ -class ColorControlColorLoopSet : public ClusterCommand +class WritePowerConfigurationBattery3VoltageThreshold3 : public WriteAttribute { public: - ColorControlColorLoopSet(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("color-loop-set", credsIssuerConfig) + WritePowerConfigurationBattery3VoltageThreshold3(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3VoltageThreshold3", credsIssuerConfig) { - AddArgument("UpdateFlags", 0, UINT8_MAX, &mRequest.updateFlags); - AddArgument("Action", 0, UINT8_MAX, &mRequest.action); - AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction); - AddArgument("Time", 0, UINT16_MAX, &mRequest.time); - AddArgument("StartHue", 0, UINT16_MAX, &mRequest.startHue); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3voltage-threshold3"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3VoltageThreshold3() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000044, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x00000079, mValue); } private: - chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type mRequest; + uint8_t mValue; }; -/* - * Command EnhancedMoveHue - */ -class ColorControlEnhancedMoveHue : public ClusterCommand +class WritePowerConfigurationBattery3PercentageMinThreshold : public WriteAttribute { public: - ColorControlEnhancedMoveHue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-move-hue", credsIssuerConfig) + WritePowerConfigurationBattery3PercentageMinThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3PercentageMinThreshold", credsIssuerConfig) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3percentage-min-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3PercentageMinThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000041, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000007A, mValue); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedMoveHue::Type mRequest; + uint8_t mValue; }; -/* - * Command EnhancedMoveToHue - */ -class ColorControlEnhancedMoveToHue : public ClusterCommand +class WritePowerConfigurationBattery3PercentageThreshold1 : public WriteAttribute { public: - ColorControlEnhancedMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-move-to-hue", credsIssuerConfig) + WritePowerConfigurationBattery3PercentageThreshold1(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3PercentageThreshold1", credsIssuerConfig) { - AddArgument("EnhancedHue", 0, UINT16_MAX, &mRequest.enhancedHue); - AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3percentage-threshold1"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3PercentageThreshold1() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000040, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000007B, mValue); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type mRequest; + uint8_t mValue; }; -/* - * Command EnhancedMoveToHueAndSaturation - */ -class ColorControlEnhancedMoveToHueAndSaturation : public ClusterCommand +class WritePowerConfigurationBattery3PercentageThreshold2 : public WriteAttribute { public: - ColorControlEnhancedMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-move-to-hue-and-saturation", credsIssuerConfig) + WritePowerConfigurationBattery3PercentageThreshold2(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3PercentageThreshold2", credsIssuerConfig) { - AddArgument("EnhancedHue", 0, UINT16_MAX, &mRequest.enhancedHue); - AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3percentage-threshold2"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3PercentageThreshold2() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000043, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000007C, mValue); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHueAndSaturation::Type mRequest; + uint8_t mValue; }; -/* - * Command EnhancedStepHue - */ -class ColorControlEnhancedStepHue : public ClusterCommand +class WritePowerConfigurationBattery3PercentageThreshold3 : public WriteAttribute { public: - ColorControlEnhancedStepHue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-step-hue", credsIssuerConfig) + WritePowerConfigurationBattery3PercentageThreshold3(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Battery3PercentageThreshold3", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "battery3percentage-threshold3"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerConfigurationBattery3PercentageThreshold3() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000042, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000001, 0x0000007D, mValue); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedStepHue::Type mRequest; + uint8_t mValue; }; -/* - * Command MoveColor - */ -class ColorControlMoveColor : public ClusterCommand +/*----------------------------------------------------------------------------*\ +| Cluster DeviceTemperatureConfiguration | 0x0002 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentTemperature | 0x0000 | +| * MinTempExperienced | 0x0001 | +| * MaxTempExperienced | 0x0002 | +| * OverTempTotalDwell | 0x0003 | +| * DeviceTempAlarmMask | 0x0010 | +| * LowTempThreshold | 0x0011 | +| * HighTempThreshold | 0x0012 | +| * LowTempDwellTripPoint | 0x0013 | +| * HighTempDwellTripPoint | 0x0014 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteDeviceTemperatureConfigurationDeviceTempAlarmMask : public WriteAttribute { public: - ColorControlMoveColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-color", credsIssuerConfig) + WriteDeviceTemperatureConfigurationDeviceTempAlarmMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("DeviceTempAlarmMask", credsIssuerConfig) { - AddArgument("RateX", INT16_MIN, INT16_MAX, &mRequest.rateX); - AddArgument("RateY", INT16_MIN, INT16_MAX, &mRequest.rateY); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "device-temp-alarm-mask"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDeviceTemperatureConfigurationDeviceTempAlarmMask() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000008, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000002, 0x00000010, mValue); } private: - chip::app::Clusters::ColorControl::Commands::MoveColor::Type mRequest; + uint8_t mValue; }; -/* - * Command MoveColorTemperature - */ -class ColorControlMoveColorTemperature : public ClusterCommand +class WriteDeviceTemperatureConfigurationLowTempThreshold : public WriteAttribute { public: - ColorControlMoveColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-color-temperature", credsIssuerConfig) + WriteDeviceTemperatureConfigurationLowTempThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LowTempThreshold", credsIssuerConfig) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate); - AddArgument("ColorTemperatureMinimum", 0, UINT16_MAX, &mRequest.colorTemperatureMinimum); - AddArgument("ColorTemperatureMaximum", 0, UINT16_MAX, &mRequest.colorTemperatureMaximum); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "low-temp-threshold"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDeviceTemperatureConfigurationLowTempThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x0000004B, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000002, 0x00000011, mValue); } private: - chip::app::Clusters::ColorControl::Commands::MoveColorTemperature::Type mRequest; + int16_t mValue; }; -/* - * Command MoveHue - */ -class ColorControlMoveHue : public ClusterCommand +class WriteDeviceTemperatureConfigurationHighTempThreshold : public WriteAttribute { public: - ColorControlMoveHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-hue", credsIssuerConfig) + WriteDeviceTemperatureConfigurationHighTempThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("HighTempThreshold", credsIssuerConfig) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "high-temp-threshold"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDeviceTemperatureConfigurationHighTempThreshold() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000002, 0x00000012, mValue); } private: - chip::app::Clusters::ColorControl::Commands::MoveHue::Type mRequest; + int16_t mValue; }; -/* - * Command MoveSaturation - */ -class ColorControlMoveSaturation : public ClusterCommand +class WriteDeviceTemperatureConfigurationLowTempDwellTripPoint : public WriteAttribute { public: - ColorControlMoveSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-saturation", credsIssuerConfig) + WriteDeviceTemperatureConfigurationLowTempDwellTripPoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LowTempDwellTripPoint", credsIssuerConfig) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "low-temp-dwell-trip-point"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDeviceTemperatureConfigurationLowTempDwellTripPoint() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000004, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000002, 0x00000013, mValue); } private: - chip::app::Clusters::ColorControl::Commands::MoveSaturation::Type mRequest; + uint32_t mValue; }; -/* - * Command MoveToColor - */ -class ColorControlMoveToColor : public ClusterCommand +class WriteDeviceTemperatureConfigurationHighTempDwellTripPoint : public WriteAttribute { public: - ColorControlMoveToColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-color", credsIssuerConfig) + WriteDeviceTemperatureConfigurationHighTempDwellTripPoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("HighTempDwellTripPoint", credsIssuerConfig) { - AddArgument("ColorX", 0, UINT16_MAX, &mRequest.colorX); - AddArgument("ColorY", 0, UINT16_MAX, &mRequest.colorY); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "high-temp-dwell-trip-point"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDeviceTemperatureConfigurationHighTempDwellTripPoint() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000007, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000002, 0x00000014, mValue); } private: - chip::app::Clusters::ColorControl::Commands::MoveToColor::Type mRequest; + uint32_t mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster Identify | 0x0003 | +|------------------------------------------------------------------------------| +| Commands: | | +| * Identify | 0x00 | +| * IdentifyQuery | 0x01 | +| * TriggerEffect | 0x40 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * IdentifyTime | 0x0000 | +| * IdentifyType | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command MoveToColorTemperature + * Command Identify */ -class ColorControlMoveToColorTemperature : public ClusterCommand +class IdentifyIdentify : public ClusterCommand { public: - ColorControlMoveToColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-to-color-temperature", credsIssuerConfig) + IdentifyIdentify(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("identify", credsIssuerConfig) { - AddArgument("ColorTemperature", 0, UINT16_MAX, &mRequest.colorTemperature); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + AddArgument("IdentifyTime", 0, UINT16_MAX, &mRequest.identifyTime); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x0000000A, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000003, 0x00000000, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveToColorTemperature::Type mRequest; + chip::app::Clusters::Identify::Commands::Identify::Type mRequest; }; /* - * Command MoveToHue + * Command IdentifyQuery */ -class ColorControlMoveToHue : public ClusterCommand +class IdentifyIdentifyQuery : public ClusterCommand { public: - ColorControlMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-hue", credsIssuerConfig) + IdentifyIdentifyQuery(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("identify-query", credsIssuerConfig) { - AddArgument("Hue", 0, UINT8_MAX, &mRequest.hue); - AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000003, 0x00000001, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveToHue::Type mRequest; + chip::app::Clusters::Identify::Commands::IdentifyQuery::Type mRequest; }; /* - * Command MoveToHueAndSaturation + * Command TriggerEffect */ -class ColorControlMoveToHueAndSaturation : public ClusterCommand +class IdentifyTriggerEffect : public ClusterCommand { public: - ColorControlMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-to-hue-and-saturation", credsIssuerConfig) + IdentifyTriggerEffect(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("trigger-effect", credsIssuerConfig) { - AddArgument("Hue", 0, UINT8_MAX, &mRequest.hue); - AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + AddArgument("EffectIdentifier", 0, UINT8_MAX, &mRequest.effectIdentifier); + AddArgument("EffectVariant", 0, UINT8_MAX, &mRequest.effectVariant); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000040) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000003, 0x00000040, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveToHueAndSaturation::Type mRequest; + chip::app::Clusters::Identify::Commands::TriggerEffect::Type mRequest; }; -/* - * Command MoveToSaturation - */ -class ColorControlMoveToSaturation : public ClusterCommand +class WriteIdentifyIdentifyTime : public WriteAttribute { public: - ColorControlMoveToSaturation(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-to-saturation", credsIssuerConfig) + WriteIdentifyIdentifyTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("IdentifyTime", credsIssuerConfig) { - AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "identify-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteIdentifyIdentifyTime() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000003, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000003, 0x00000000, mValue); } private: - chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type mRequest; + uint16_t mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster Groups | 0x0004 | +|------------------------------------------------------------------------------| +| Commands: | | +| * AddGroup | 0x00 | +| * ViewGroup | 0x01 | +| * GetGroupMembership | 0x02 | +| * RemoveGroup | 0x03 | +| * RemoveAllGroups | 0x04 | +| * AddGroupIfIdentifying | 0x05 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * NameSupport | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command StepColor + * Command AddGroup */ -class ColorControlStepColor : public ClusterCommand +class GroupsAddGroup : public ClusterCommand { public: - ColorControlStepColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-color", credsIssuerConfig) + GroupsAddGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-group", credsIssuerConfig) { - AddArgument("StepX", INT16_MIN, INT16_MAX, &mRequest.stepX); - AddArgument("StepY", INT16_MIN, INT16_MAX, &mRequest.stepY); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("GroupName", &mRequest.groupName); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000000, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepColor::Type mRequest; + chip::app::Clusters::Groups::Commands::AddGroup::Type mRequest; }; /* - * Command StepColorTemperature + * Command ViewGroup */ -class ColorControlStepColorTemperature : public ClusterCommand +class GroupsViewGroup : public ClusterCommand { public: - ColorControlStepColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("step-color-temperature", credsIssuerConfig) + GroupsViewGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("view-group", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("ColorTemperatureMinimum", 0, UINT16_MAX, &mRequest.colorTemperatureMinimum); - AddArgument("ColorTemperatureMaximum", 0, UINT16_MAX, &mRequest.colorTemperatureMaximum); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x0000004C, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000001, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepColorTemperature::Type mRequest; + chip::app::Clusters::Groups::Commands::ViewGroup::Type mRequest; }; /* - * Command StepHue + * Command GetGroupMembership */ -class ColorControlStepHue : public ClusterCommand +class GroupsGetGroupMembership : public ClusterCommand { public: - ColorControlStepHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-hue", credsIssuerConfig) + GroupsGetGroupMembership(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-group-membership", credsIssuerConfig), mComplex_GroupList(&mRequest.groupList) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + AddArgument("GroupList", &mComplex_GroupList); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000002, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepHue::Type mRequest; + chip::app::Clusters::Groups::Commands::GetGroupMembership::Type mRequest; + TypedComplexArgument> mComplex_GroupList; }; /* - * Command StepSaturation + * Command RemoveGroup */ -class ColorControlStepSaturation : public ClusterCommand +class GroupsRemoveGroup : public ClusterCommand { public: - ColorControlStepSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-saturation", credsIssuerConfig) + GroupsRemoveGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-group", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000003, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepSaturation::Type mRequest; + chip::app::Clusters::Groups::Commands::RemoveGroup::Type mRequest; }; /* - * Command StopMoveStep + * Command RemoveAllGroups */ -class ColorControlStopMoveStep : public ClusterCommand +class GroupsRemoveAllGroups : public ClusterCommand { public: - ColorControlStopMoveStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-move-step", credsIssuerConfig) + GroupsRemoveAllGroups(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-all-groups", credsIssuerConfig) { - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000047, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000004, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type mRequest; + chip::app::Clusters::Groups::Commands::RemoveAllGroups::Type mRequest; }; -class WriteColorControlColorControlOptions : public WriteAttribute +/* + * Command AddGroupIfIdentifying + */ +class GroupsAddGroupIfIdentifying : public ClusterCommand { public: - WriteColorControlColorControlOptions(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ColorControlOptions", credsIssuerConfig) + GroupsAddGroupIfIdentifying(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-group-if-identifying", credsIssuerConfig) { - AddArgument("attr-name", "color-control-options"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("GroupName", &mRequest.groupName); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorControlOptions() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000000F, mValue); - } - -private: - uint8_t mValue; -}; - -class WriteColorControlWhitePointX : public WriteAttribute -{ -public: - WriteColorControlWhitePointX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("WhitePointX", credsIssuerConfig) - { - AddArgument("attr-name", "white-point-x"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); - } - - ~WriteColorControlWhitePointX() {} + ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000005) on endpoint %" PRIu16, endpointId); - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000030, mValue); + return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000005, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Groups::Commands::AddGroupIfIdentifying::Type mRequest; }; -class WriteColorControlWhitePointY : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster Scenes | 0x0005 | +|------------------------------------------------------------------------------| +| Commands: | | +| * AddScene | 0x00 | +| * ViewScene | 0x01 | +| * RemoveScene | 0x02 | +| * RemoveAllScenes | 0x03 | +| * StoreScene | 0x04 | +| * RecallScene | 0x05 | +| * GetSceneMembership | 0x06 | +| * EnhancedAddScene | 0x40 | +| * EnhancedViewScene | 0x41 | +| * CopyScene | 0x42 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * SceneCount | 0x0000 | +| * CurrentScene | 0x0001 | +| * CurrentGroup | 0x0002 | +| * SceneValid | 0x0003 | +| * NameSupport | 0x0004 | +| * LastConfiguredBy | 0x0005 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command AddScene + */ +class ScenesAddScene : public ClusterCommand { public: - WriteColorControlWhitePointY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("WhitePointY", credsIssuerConfig) + ScenesAddScene(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-scene", credsIssuerConfig), mComplex_ExtensionFieldSets(&mRequest.extensionFieldSets) { - AddArgument("attr-name", "white-point-y"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("SceneName", &mRequest.sceneName); + AddArgument("ExtensionFieldSets", &mComplex_ExtensionFieldSets); + ClusterCommand::AddArguments(); } - ~WriteColorControlWhitePointY() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000031, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000000, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::AddScene::Type mRequest; + TypedComplexArgument> + mComplex_ExtensionFieldSets; }; -class WriteColorControlColorPointRX : public WriteAttribute +/* + * Command ViewScene + */ +class ScenesViewScene : public ClusterCommand { public: - WriteColorControlColorPointRX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointRX", credsIssuerConfig) + ScenesViewScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("view-scene", credsIssuerConfig) { - AddArgument("attr-name", "color-point-rx"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointRX() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000032, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000001, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::ViewScene::Type mRequest; }; -class WriteColorControlColorPointRY : public WriteAttribute +/* + * Command RemoveScene + */ +class ScenesRemoveScene : public ClusterCommand { public: - WriteColorControlColorPointRY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointRY", credsIssuerConfig) + ScenesRemoveScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-scene", credsIssuerConfig) { - AddArgument("attr-name", "color-point-ry"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointRY() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000033, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000002, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::RemoveScene::Type mRequest; }; -class WriteColorControlColorPointRIntensity : public WriteAttribute +/* + * Command RemoveAllScenes + */ +class ScenesRemoveAllScenes : public ClusterCommand { public: - WriteColorControlColorPointRIntensity(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ColorPointRIntensity", credsIssuerConfig) + ScenesRemoveAllScenes(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-all-scenes", credsIssuerConfig) { - AddArgument("attr-name", "color-point-rintensity"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointRIntensity() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000034, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000003, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::Scenes::Commands::RemoveAllScenes::Type mRequest; }; -class WriteColorControlColorPointGX : public WriteAttribute +/* + * Command StoreScene + */ +class ScenesStoreScene : public ClusterCommand { public: - WriteColorControlColorPointGX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointGX", credsIssuerConfig) + ScenesStoreScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("store-scene", credsIssuerConfig) { - AddArgument("attr-name", "color-point-gx"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointGX() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000036, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000004, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::StoreScene::Type mRequest; }; -class WriteColorControlColorPointGY : public WriteAttribute +/* + * Command RecallScene + */ +class ScenesRecallScene : public ClusterCommand { public: - WriteColorControlColorPointGY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointGY", credsIssuerConfig) + ScenesRecallScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("recall-scene", credsIssuerConfig) { - AddArgument("attr-name", "color-point-gy"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointGY() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000037, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000005, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::RecallScene::Type mRequest; }; -class WriteColorControlColorPointGIntensity : public WriteAttribute +/* + * Command GetSceneMembership + */ +class ScenesGetSceneMembership : public ClusterCommand { public: - WriteColorControlColorPointGIntensity(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ColorPointGIntensity", credsIssuerConfig) + ScenesGetSceneMembership(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-scene-membership", credsIssuerConfig) { - AddArgument("attr-name", "color-point-gintensity"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointGIntensity() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000038, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000006) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000006, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::Scenes::Commands::GetSceneMembership::Type mRequest; }; -class WriteColorControlColorPointBX : public WriteAttribute +/* + * Command EnhancedAddScene + */ +class ScenesEnhancedAddScene : public ClusterCommand { public: - WriteColorControlColorPointBX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointBX", credsIssuerConfig) + ScenesEnhancedAddScene(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-add-scene", credsIssuerConfig), mComplex_ExtensionFieldSets(&mRequest.extensionFieldSets) { - AddArgument("attr-name", "color-point-bx"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("SceneName", &mRequest.sceneName); + AddArgument("ExtensionFieldSets", &mComplex_ExtensionFieldSets); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointBX() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000003A, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000040) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000040, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::EnhancedAddScene::Type mRequest; + TypedComplexArgument> + mComplex_ExtensionFieldSets; }; -class WriteColorControlColorPointBY : public WriteAttribute +/* + * Command EnhancedViewScene + */ +class ScenesEnhancedViewScene : public ClusterCommand { public: - WriteColorControlColorPointBY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointBY", credsIssuerConfig) + ScenesEnhancedViewScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enhanced-view-scene", credsIssuerConfig) { - AddArgument("attr-name", "color-point-by"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointBY() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000003B, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000041) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000041, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::EnhancedViewScene::Type mRequest; }; -class WriteColorControlColorPointBIntensity : public WriteAttribute +/* + * Command CopyScene + */ +class ScenesCopyScene : public ClusterCommand { public: - WriteColorControlColorPointBIntensity(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ColorPointBIntensity", credsIssuerConfig) + ScenesCopyScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("copy-scene", credsIssuerConfig) { - AddArgument("attr-name", "color-point-bintensity"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode); + AddArgument("GroupIdFrom", 0, UINT16_MAX, &mRequest.groupIdFrom); + AddArgument("SceneIdFrom", 0, UINT8_MAX, &mRequest.sceneIdFrom); + AddArgument("GroupIdTo", 0, UINT16_MAX, &mRequest.groupIdTo); + AddArgument("SceneIdTo", 0, UINT8_MAX, &mRequest.sceneIdTo); + ClusterCommand::AddArguments(); } - ~WriteColorControlColorPointBIntensity() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000003C, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000042) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000042, mRequest); } private: - uint8_t mValue; -}; - -class WriteColorControlStartUpColorTemperatureMireds : public WriteAttribute -{ -public: - WriteColorControlStartUpColorTemperatureMireds(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("StartUpColorTemperatureMireds", credsIssuerConfig) - { - AddArgument("attr-name", "start-up-color-temperature-mireds"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); - } - - ~WriteColorControlStartUpColorTemperatureMireds() {} - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00004010, mValue); - } - -private: - uint16_t mValue; + chip::app::Clusters::Scenes::Commands::CopyScene::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster ContentLauncher | 0x050A | +| Cluster OnOff | 0x0006 | |------------------------------------------------------------------------------| | Commands: | | -| * LaunchContentRequest | 0x00 | -| * LaunchURLRequest | 0x01 | +| * Off | 0x00 | +| * On | 0x01 | +| * Toggle | 0x02 | +| * OffWithEffect | 0x40 | +| * OnWithRecallGlobalScene | 0x41 | +| * OnWithTimedOff | 0x42 | |------------------------------------------------------------------------------| | Attributes: | | -| * AcceptHeaderList | 0x0000 | -| * SupportedStreamingProtocols | 0x0001 | +| * OnOff | 0x0000 | +| * GlobalSceneControl | 0x4000 | +| * OnTime | 0x4001 | +| * OffWaitTime | 0x4002 | +| * StartUpOnOff | 0x4003 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ /* - * Command LaunchContentRequest + * Command Off */ -class ContentLauncherLaunchContentRequest : public ClusterCommand +class OnOffOff : public ClusterCommand { public: - ContentLauncherLaunchContentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("launch-content-request", credsIssuerConfig), mComplex_Search(&mRequest.search) + OnOffOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("off", credsIssuerConfig) { - AddArgument("Search", &mComplex_Search); - AddArgument("AutoPlay", 0, 1, &mRequest.autoPlay); - AddArgument("Data", &mRequest.data); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050A, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000000, mRequest); } private: - chip::app::Clusters::ContentLauncher::Commands::LaunchContentRequest::Type mRequest; - TypedComplexArgument mComplex_Search; + chip::app::Clusters::OnOff::Commands::Off::Type mRequest; }; /* - * Command LaunchURLRequest + * Command On */ -class ContentLauncherLaunchURLRequest : public ClusterCommand +class OnOffOn : public ClusterCommand { public: - ContentLauncherLaunchURLRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("launch-urlrequest", credsIssuerConfig), mComplex_BrandingInformation(&mRequest.brandingInformation) + OnOffOn(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("on", credsIssuerConfig) { - AddArgument("ContentURL", &mRequest.contentURL); - AddArgument("DisplayString", &mRequest.displayString); - AddArgument("BrandingInformation", &mComplex_BrandingInformation); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050A, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000001, mRequest); } private: - chip::app::Clusters::ContentLauncher::Commands::LaunchURLRequest::Type mRequest; - TypedComplexArgument> - mComplex_BrandingInformation; + chip::app::Clusters::OnOff::Commands::On::Type mRequest; }; -class WriteContentLauncherSupportedStreamingProtocols : public WriteAttribute +/* + * Command Toggle + */ +class OnOffToggle : public ClusterCommand { public: - WriteContentLauncherSupportedStreamingProtocols(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("SupportedStreamingProtocols", credsIssuerConfig) + OnOffToggle(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("toggle", credsIssuerConfig) { - AddArgument("attr-name", "supported-streaming-protocols"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteContentLauncherSupportedStreamingProtocols() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050A, 0x00000001, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000002, mRequest); } private: - uint32_t mValue; + chip::app::Clusters::OnOff::Commands::Toggle::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster Descriptor | 0x001D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * DeviceList | 0x0000 | -| * ServerList | 0x0001 | -| * ClientList | 0x0002 | -| * PartsList | 0x0003 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster DiagnosticLogs | 0x0032 | -|------------------------------------------------------------------------------| -| Commands: | | -| * RetrieveLogsRequest | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command RetrieveLogsRequest + * Command OffWithEffect */ -class DiagnosticLogsRetrieveLogsRequest : public ClusterCommand +class OnOffOffWithEffect : public ClusterCommand { public: - DiagnosticLogsRetrieveLogsRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("retrieve-logs-request", credsIssuerConfig) + OnOffOffWithEffect(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("off-with-effect", credsIssuerConfig) { - AddArgument("Intent", 0, UINT8_MAX, &mRequest.intent); - AddArgument("RequestedProtocol", 0, UINT8_MAX, &mRequest.requestedProtocol); - AddArgument("TransferFileDesignator", &mRequest.transferFileDesignator); + AddArgument("EffectId", 0, UINT8_MAX, &mRequest.effectId); + AddArgument("EffectVariant", 0, UINT8_MAX, &mRequest.effectVariant); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000040) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000032, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000040, mRequest); } private: - chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsRequest::Type mRequest; + chip::app::Clusters::OnOff::Commands::OffWithEffect::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster DoorLock | 0x0101 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ClearCredential | 0x26 | -| * ClearUser | 0x1D | -| * ClearWeekDaySchedule | 0x0D | -| * ClearYearDaySchedule | 0x10 | -| * GetCredentialStatus | 0x24 | -| * GetUser | 0x1B | -| * GetWeekDaySchedule | 0x0C | -| * GetYearDaySchedule | 0x0F | -| * LockDoor | 0x00 | -| * SetCredential | 0x22 | -| * SetUser | 0x1A | -| * SetWeekDaySchedule | 0x0B | -| * SetYearDaySchedule | 0x0E | -| * UnlockDoor | 0x01 | -| * UnlockWithTimeout | 0x03 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * LockState | 0x0000 | -| * LockType | 0x0001 | -| * ActuatorEnabled | 0x0002 | -| * DoorState | 0x0003 | -| * NumberOfTotalUsersSupported | 0x0011 | -| * NumberOfPINUsersSupported | 0x0012 | -| * NumberOfRFIDUsersSupported | 0x0013 | -| * NumberOfWeekDaySchedulesSupportedPerUser | 0x0014 | -| * NumberOfYearDaySchedulesSupportedPerUser | 0x0015 | -| * MaxPINCodeLength | 0x0017 | -| * MinPINCodeLength | 0x0018 | -| * MaxRFIDCodeLength | 0x0019 | -| * MinRFIDCodeLength | 0x001A | -| * Language | 0x0021 | -| * AutoRelockTime | 0x0023 | -| * SoundVolume | 0x0024 | -| * OperatingMode | 0x0025 | -| * SupportedOperatingModes | 0x0026 | -| * EnableOneTouchLocking | 0x0029 | -| * EnablePrivacyModeButton | 0x002B | -| * WrongCodeEntryLimit | 0x0030 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * DoorLockAlarm | 0x0000 | -| * DoorStateChange | 0x0001 | -| * LockOperation | 0x0002 | -| * LockOperationError | 0x0003 | -| * LockUserChange | 0x0004 | -\*----------------------------------------------------------------------------*/ - /* - * Command ClearCredential + * Command OnWithRecallGlobalScene */ -class DoorLockClearCredential : public ClusterCommand +class OnOffOnWithRecallGlobalScene : public ClusterCommand { public: - DoorLockClearCredential(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) + OnOffOnWithRecallGlobalScene(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("on-with-recall-global-scene", credsIssuerConfig) { - AddArgument("Credential", &mComplex_Credential); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000041) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000026, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000041, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::ClearCredential::Type mRequest; - TypedComplexArgument> - mComplex_Credential; + chip::app::Clusters::OnOff::Commands::OnWithRecallGlobalScene::Type mRequest; }; /* - * Command ClearUser + * Command OnWithTimedOff */ -class DoorLockClearUser : public ClusterCommand +class OnOffOnWithTimedOff : public ClusterCommand { public: - DoorLockClearUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-user", credsIssuerConfig) + OnOffOnWithTimedOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("on-with-timed-off", credsIssuerConfig) { - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("OnOffControl", 0, UINT8_MAX, &mRequest.onOffControl); + AddArgument("OnTime", 0, UINT16_MAX, &mRequest.onTime); + AddArgument("OffWaitTime", 0, UINT16_MAX, &mRequest.offWaitTime); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000042) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000001D, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000042, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::ClearUser::Type mRequest; + chip::app::Clusters::OnOff::Commands::OnWithTimedOff::Type mRequest; }; -/* - * Command ClearWeekDaySchedule - */ -class DoorLockClearWeekDaySchedule : public ClusterCommand +class WriteOnOffOnTime : public WriteAttribute { public: - DoorLockClearWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-week-day-schedule", credsIssuerConfig) + WriteOnOffOnTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OnTime", credsIssuerConfig) { - AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "on-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteOnOffOnTime() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000D, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000006, 0x00004001, mValue); } private: - chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::Type mRequest; + uint16_t mValue; }; -/* - * Command ClearYearDaySchedule - */ -class DoorLockClearYearDaySchedule : public ClusterCommand +class WriteOnOffOffWaitTime : public WriteAttribute { public: - DoorLockClearYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-year-day-schedule", credsIssuerConfig) + WriteOnOffOffWaitTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OffWaitTime", credsIssuerConfig) { - AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "off-wait-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteOnOffOffWaitTime() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000010, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000006, 0x00004002, mValue); } private: - chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::Type mRequest; + uint16_t mValue; }; -/* - * Command GetCredentialStatus - */ -class DoorLockGetCredentialStatus : public ClusterCommand +class WriteOnOffStartUpOnOff : public WriteAttribute { public: - DoorLockGetCredentialStatus(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-credential-status", credsIssuerConfig), mComplex_Credential(&mRequest.credential) + WriteOnOffStartUpOnOff(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("StartUpOnOff", credsIssuerConfig) { - AddArgument("Credential", &mComplex_Credential); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "start-up-on-off"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteOnOffStartUpOnOff() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000024, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000006, 0x00004003, mValue); } private: - chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type mRequest; - TypedComplexArgument mComplex_Credential; + uint8_t mValue; }; -/* - * Command GetUser - */ -class DoorLockGetUser : public ClusterCommand +/*----------------------------------------------------------------------------*\ +| Cluster OnOffSwitchConfiguration | 0x0007 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * SwitchType | 0x0000 | +| * SwitchActions | 0x0010 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteOnOffSwitchConfigurationSwitchActions : public WriteAttribute { public: - DoorLockGetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user", credsIssuerConfig) + WriteOnOffSwitchConfigurationSwitchActions(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("SwitchActions", credsIssuerConfig) { - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "switch-actions"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteOnOffSwitchConfigurationSwitchActions() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000001B, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000007, 0x00000010, mValue); } private: - chip::app::Clusters::DoorLock::Commands::GetUser::Type mRequest; + uint8_t mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster LevelControl | 0x0008 | +|------------------------------------------------------------------------------| +| Commands: | | +| * MoveToLevel | 0x00 | +| * Move | 0x01 | +| * Step | 0x02 | +| * Stop | 0x03 | +| * MoveToLevelWithOnOff | 0x04 | +| * MoveWithOnOff | 0x05 | +| * StepWithOnOff | 0x06 | +| * StopWithOnOff | 0x07 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentLevel | 0x0000 | +| * RemainingTime | 0x0001 | +| * MinLevel | 0x0002 | +| * MaxLevel | 0x0003 | +| * CurrentFrequency | 0x0004 | +| * MinFrequency | 0x0005 | +| * MaxFrequency | 0x0006 | +| * Options | 0x000F | +| * OnOffTransitionTime | 0x0010 | +| * OnLevel | 0x0011 | +| * OnTransitionTime | 0x0012 | +| * OffTransitionTime | 0x0013 | +| * DefaultMoveRate | 0x0014 | +| * StartUpCurrentLevel | 0x4000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command GetWeekDaySchedule + * Command MoveToLevel */ -class DoorLockGetWeekDaySchedule : public ClusterCommand +class LevelControlMoveToLevel : public ClusterCommand { public: - DoorLockGetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-week-day-schedule", credsIssuerConfig) + LevelControlMoveToLevel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-level", credsIssuerConfig) { - AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("Level", 0, UINT8_MAX, &mRequest.level); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); + AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000C, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000000, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type mRequest; + chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type mRequest; }; /* - * Command GetYearDaySchedule + * Command Move */ -class DoorLockGetYearDaySchedule : public ClusterCommand +class LevelControlMove : public ClusterCommand { public: - DoorLockGetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-year-day-schedule", credsIssuerConfig) + LevelControlMove(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move", credsIssuerConfig) { - AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); + AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); + AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); + AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000F, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000001, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type mRequest; + chip::app::Clusters::LevelControl::Commands::Move::Type mRequest; }; /* - * Command LockDoor + * Command Step */ -class DoorLockLockDoor : public ClusterCommand +class LevelControlStep : public ClusterCommand { public: - DoorLockLockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("lock-door", credsIssuerConfig) + LevelControlStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step", credsIssuerConfig) { - AddArgument("PinCode", &mRequest.pinCode); + AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); + AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); + AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000002, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::LockDoor::Type mRequest; + chip::app::Clusters::LevelControl::Commands::Step::Type mRequest; }; /* - * Command SetCredential + * Command Stop */ -class DoorLockSetCredential : public ClusterCommand +class LevelControlStop : public ClusterCommand { public: - DoorLockSetCredential(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) + LevelControlStop(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop", credsIssuerConfig) { - AddArgument("OperationType", 0, UINT8_MAX, &mRequest.operationType); - AddArgument("Credential", &mComplex_Credential); - AddArgument("CredentialData", &mRequest.credentialData); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); - AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); + AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); + AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000022, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000003, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetCredential::Type mRequest; - TypedComplexArgument mComplex_Credential; + chip::app::Clusters::LevelControl::Commands::Stop::Type mRequest; }; /* - * Command SetUser + * Command MoveToLevelWithOnOff */ -class DoorLockSetUser : public ClusterCommand +class LevelControlMoveToLevelWithOnOff : public ClusterCommand { public: - DoorLockSetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user", credsIssuerConfig) + LevelControlMoveToLevelWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-level-with-on-off", credsIssuerConfig) { - AddArgument("OperationType", 0, UINT8_MAX, &mRequest.operationType); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - AddArgument("UserName", &mRequest.userName); - AddArgument("UserUniqueId", 0, UINT32_MAX, &mRequest.userUniqueId); - AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); - AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); - AddArgument("CredentialRule", 0, UINT8_MAX, &mRequest.credentialRule); + AddArgument("Level", 0, UINT8_MAX, &mRequest.level); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000001A, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000004, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetUser::Type mRequest; + chip::app::Clusters::LevelControl::Commands::MoveToLevelWithOnOff::Type mRequest; }; /* - * Command SetWeekDaySchedule + * Command MoveWithOnOff */ -class DoorLockSetWeekDaySchedule : public ClusterCommand +class LevelControlMoveWithOnOff : public ClusterCommand { public: - DoorLockSetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-week-day-schedule", credsIssuerConfig) + LevelControlMoveWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-with-on-off", credsIssuerConfig) { - AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - AddArgument("DaysMask", 0, UINT8_MAX, &mRequest.daysMask); - AddArgument("StartHour", 0, UINT8_MAX, &mRequest.startHour); - AddArgument("StartMinute", 0, UINT8_MAX, &mRequest.startMinute); - AddArgument("EndHour", 0, UINT8_MAX, &mRequest.endHour); - AddArgument("EndMinute", 0, UINT8_MAX, &mRequest.endMinute); + AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); + AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000005) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000B, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000005, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type mRequest; + chip::app::Clusters::LevelControl::Commands::MoveWithOnOff::Type mRequest; }; /* - * Command SetYearDaySchedule + * Command StepWithOnOff */ -class DoorLockSetYearDaySchedule : public ClusterCommand +class LevelControlStepWithOnOff : public ClusterCommand { public: - DoorLockSetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-year-day-schedule", credsIssuerConfig) + LevelControlStepWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-with-on-off", credsIssuerConfig) { - AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); - AddArgument("LocalStartTime", 0, UINT32_MAX, &mRequest.localStartTime); - AddArgument("LocalEndTime", 0, UINT32_MAX, &mRequest.localEndTime); + AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); + AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000006) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000E, mRequest); - } - -private: - chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type mRequest; -}; - -/* - * Command UnlockDoor - */ -class DoorLockUnlockDoor : public ClusterCommand -{ -public: - DoorLockUnlockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unlock-door", credsIssuerConfig) - { - AddArgument("PinCode", &mRequest.pinCode); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000006, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::UnlockDoor::Type mRequest; + chip::app::Clusters::LevelControl::Commands::StepWithOnOff::Type mRequest; }; /* - * Command UnlockWithTimeout + * Command StopWithOnOff */ -class DoorLockUnlockWithTimeout : public ClusterCommand +class LevelControlStopWithOnOff : public ClusterCommand { public: - DoorLockUnlockWithTimeout(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("unlock-with-timeout", credsIssuerConfig) + LevelControlStopWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-with-on-off", credsIssuerConfig) { - AddArgument("Timeout", 0, UINT16_MAX, &mRequest.timeout); - AddArgument("PinCode", &mRequest.pinCode); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000007) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000007, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::UnlockWithTimeout::Type mRequest; + chip::app::Clusters::LevelControl::Commands::StopWithOnOff::Type mRequest; }; -class WriteDoorLockLanguage : public WriteAttribute +class WriteLevelControlOptions : public WriteAttribute { public: - WriteDoorLockLanguage(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Language", credsIssuerConfig) + WriteLevelControlOptions(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Options", credsIssuerConfig) { - AddArgument("attr-name", "language"); - AddArgument("attr-value", &mValue); + AddArgument("attr-name", "options"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockLanguage() {} + ~WriteLevelControlOptions() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000021, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x0000000F, mValue); } private: - chip::CharSpan mValue; + uint8_t mValue; }; -class WriteDoorLockAutoRelockTime : public WriteAttribute +class WriteLevelControlOnOffTransitionTime : public WriteAttribute { public: - WriteDoorLockAutoRelockTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AutoRelockTime", credsIssuerConfig) + WriteLevelControlOnOffTransitionTime(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OnOffTransitionTime", credsIssuerConfig) { - AddArgument("attr-name", "auto-relock-time"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); + AddArgument("attr-name", "on-off-transition-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockAutoRelockTime() {} + ~WriteLevelControlOnOffTransitionTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000023, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000010, mValue); } private: - uint32_t mValue; + uint16_t mValue; }; -class WriteDoorLockSoundVolume : public WriteAttribute +class WriteLevelControlOnLevel : public WriteAttribute { public: - WriteDoorLockSoundVolume(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("SoundVolume", credsIssuerConfig) + WriteLevelControlOnLevel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OnLevel", credsIssuerConfig) { - AddArgument("attr-name", "sound-volume"); + AddArgument("attr-name", "on-level"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockSoundVolume() {} + ~WriteLevelControlOnLevel() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000024, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000011, mValue); } private: - uint8_t mValue; + chip::app::DataModel::Nullable mValue; }; -class WriteDoorLockOperatingMode : public WriteAttribute +class WriteLevelControlOnTransitionTime : public WriteAttribute { public: - WriteDoorLockOperatingMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OperatingMode", credsIssuerConfig) + WriteLevelControlOnTransitionTime(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OnTransitionTime", credsIssuerConfig) { - AddArgument("attr-name", "operating-mode"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "on-transition-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockOperatingMode() {} + ~WriteLevelControlOnTransitionTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000025, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000012, mValue); } private: - chip::app::Clusters::DoorLock::DlOperatingMode mValue; + chip::app::DataModel::Nullable mValue; }; -class WriteDoorLockEnableOneTouchLocking : public WriteAttribute +class WriteLevelControlOffTransitionTime : public WriteAttribute { public: - WriteDoorLockEnableOneTouchLocking(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("EnableOneTouchLocking", credsIssuerConfig) + WriteLevelControlOffTransitionTime(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OffTransitionTime", credsIssuerConfig) { - AddArgument("attr-name", "enable-one-touch-locking"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "off-transition-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockEnableOneTouchLocking() {} + ~WriteLevelControlOffTransitionTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000029, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000013, mValue); } private: - bool mValue; + chip::app::DataModel::Nullable mValue; }; -class WriteDoorLockEnablePrivacyModeButton : public WriteAttribute +class WriteLevelControlDefaultMoveRate : public WriteAttribute { public: - WriteDoorLockEnablePrivacyModeButton(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("EnablePrivacyModeButton", credsIssuerConfig) + WriteLevelControlDefaultMoveRate(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("DefaultMoveRate", credsIssuerConfig) { - AddArgument("attr-name", "enable-privacy-mode-button"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "default-move-rate"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockEnablePrivacyModeButton() {} + ~WriteLevelControlDefaultMoveRate() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x0000002B, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000014, mValue); } private: - bool mValue; + chip::app::DataModel::Nullable mValue; }; -class WriteDoorLockWrongCodeEntryLimit : public WriteAttribute +class WriteLevelControlStartUpCurrentLevel : public WriteAttribute { public: - WriteDoorLockWrongCodeEntryLimit(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("WrongCodeEntryLimit", credsIssuerConfig) + WriteLevelControlStartUpCurrentLevel(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("StartUpCurrentLevel", credsIssuerConfig) { - AddArgument("attr-name", "wrong-code-entry-limit"); + AddArgument("attr-name", "start-up-current-level"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteDoorLockWrongCodeEntryLimit() {} + ~WriteLevelControlStartUpCurrentLevel() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000030, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00004000, mValue); } private: - uint8_t mValue; + chip::app::DataModel::Nullable mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster ElectricalMeasurement | 0x0B04 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasurementType | 0x0000 | -| * TotalActivePower | 0x0304 | -| * RmsVoltage | 0x0505 | -| * RmsVoltageMin | 0x0506 | -| * RmsVoltageMax | 0x0507 | -| * RmsCurrent | 0x0508 | -| * RmsCurrentMin | 0x0509 | -| * RmsCurrentMax | 0x050A | -| * ActivePower | 0x050B | -| * ActivePowerMin | 0x050C | -| * ActivePowerMax | 0x050D | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster EthernetNetworkDiagnostics | 0x0037 | +| Cluster Alarms | 0x0009 | |------------------------------------------------------------------------------| | Commands: | | -| * ResetCounts | 0x00 | +| * ResetAlarm | 0x00 | +| * ResetAllAlarms | 0x01 | +| * GetAlarm | 0x02 | +| * ResetAlarmLog | 0x03 | |------------------------------------------------------------------------------| | Attributes: | | -| * PHYRate | 0x0000 | -| * FullDuplex | 0x0001 | -| * PacketRxCount | 0x0002 | -| * PacketTxCount | 0x0003 | -| * TxErrCount | 0x0004 | -| * CollisionCount | 0x0005 | -| * OverrunCount | 0x0006 | -| * CarrierDetect | 0x0007 | -| * TimeSinceReset | 0x0008 | +| * AlarmCount | 0x0000 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3016,1904 +2604,1764 @@ class WriteDoorLockWrongCodeEntryLimit : public WriteAttribute \*----------------------------------------------------------------------------*/ /* - * Command ResetCounts + * Command ResetAlarm */ -class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand +class AlarmsResetAlarm : public ClusterCommand { public: - EthernetNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-counts", credsIssuerConfig) + AlarmsResetAlarm(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("reset-alarm", credsIssuerConfig) { + AddArgument("AlarmCode", 0, UINT8_MAX, &mRequest.alarmCode); + AddArgument("ClusterId", 0, UINT32_MAX, &mRequest.clusterId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000037, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000009, 0x00000000, mRequest); } private: - chip::app::Clusters::EthernetNetworkDiagnostics::Commands::ResetCounts::Type mRequest; + chip::app::Clusters::Alarms::Commands::ResetAlarm::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster FixedLabel | 0x0040 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * LabelList | 0x0000 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster FlowMeasurement | 0x0404 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster GeneralCommissioning | 0x0030 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ArmFailSafe | 0x00 | -| * CommissioningComplete | 0x04 | -| * SetRegulatoryConfig | 0x02 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * Breadcrumb | 0x0000 | -| * BasicCommissioningInfo | 0x0001 | -| * RegulatoryConfig | 0x0002 | -| * LocationCapability | 0x0003 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command ArmFailSafe + * Command ResetAllAlarms */ -class GeneralCommissioningArmFailSafe : public ClusterCommand +class AlarmsResetAllAlarms : public ClusterCommand { public: - GeneralCommissioningArmFailSafe(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("arm-fail-safe", credsIssuerConfig) + AlarmsResetAllAlarms(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("reset-all-alarms", credsIssuerConfig) { - AddArgument("ExpiryLengthSeconds", 0, UINT16_MAX, &mRequest.expiryLengthSeconds); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); - AddArgument("TimeoutMs", 0, UINT32_MAX, &mRequest.timeoutMs); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000030, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000009, 0x00000001, mRequest); } private: - chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafe::Type mRequest; + chip::app::Clusters::Alarms::Commands::ResetAllAlarms::Type mRequest; }; /* - * Command CommissioningComplete + * Command GetAlarm */ -class GeneralCommissioningCommissioningComplete : public ClusterCommand +class AlarmsGetAlarm : public ClusterCommand { public: - GeneralCommissioningCommissioningComplete(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("commissioning-complete", credsIssuerConfig) + AlarmsGetAlarm(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-alarm", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000030, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000009, 0x00000002, mRequest); } private: - chip::app::Clusters::GeneralCommissioning::Commands::CommissioningComplete::Type mRequest; + chip::app::Clusters::Alarms::Commands::GetAlarm::Type mRequest; }; /* - * Command SetRegulatoryConfig + * Command ResetAlarmLog */ -class GeneralCommissioningSetRegulatoryConfig : public ClusterCommand +class AlarmsResetAlarmLog : public ClusterCommand { public: - GeneralCommissioningSetRegulatoryConfig(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-regulatory-config", credsIssuerConfig) + AlarmsResetAlarmLog(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("reset-alarm-log", credsIssuerConfig) { - AddArgument("Location", 0, UINT8_MAX, &mRequest.location); - AddArgument("CountryCode", &mRequest.countryCode); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); - AddArgument("TimeoutMs", 0, UINT32_MAX, &mRequest.timeoutMs); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000030, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000009, 0x00000003, mRequest); } private: - chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfig::Type mRequest; + chip::app::Clusters::Alarms::Commands::ResetAlarmLog::Type mRequest; }; -class WriteGeneralCommissioningBreadcrumb : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster Time | 0x000A | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Time | 0x0000 | +| * TimeStatus | 0x0001 | +| * TimeZone | 0x0002 | +| * DstStart | 0x0003 | +| * DstEnd | 0x0004 | +| * DstShift | 0x0005 | +| * StandardTime | 0x0006 | +| * LocalTime | 0x0007 | +| * LastSetTime | 0x0008 | +| * ValidUntilTime | 0x0009 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteTimeTime : public WriteAttribute { public: - WriteGeneralCommissioningBreadcrumb(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("Breadcrumb", credsIssuerConfig) + WriteTimeTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Time", credsIssuerConfig) { - AddArgument("attr-name", "breadcrumb"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "time"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteGeneralCommissioningBreadcrumb() {} + ~WriteTimeTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000030, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000000, mValue); } private: - uint64_t mValue; + uint32_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster GeneralDiagnostics | 0x0033 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * NetworkInterfaces | 0x0000 | -| * RebootCount | 0x0001 | -| * UpTime | 0x0002 | -| * TotalOperationalHours | 0x0003 | -| * BootReasons | 0x0004 | -| * ActiveHardwareFaults | 0x0005 | -| * ActiveRadioFaults | 0x0006 | -| * ActiveNetworkFaults | 0x0007 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * HardwareFaultChange | 0x0000 | -| * RadioFaultChange | 0x0001 | -| * NetworkFaultChange | 0x0002 | -| * BootReason | 0x0003 | -\*----------------------------------------------------------------------------*/ +class WriteTimeTimeStatus : public WriteAttribute +{ +public: + WriteTimeTimeStatus(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("TimeStatus", credsIssuerConfig) + { + AddArgument("attr-name", "time-status"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster GroupKeyManagement | 0x003F | -|------------------------------------------------------------------------------| -| Commands: | | -| * KeySetRead | 0x01 | -| * KeySetReadAllIndices | 0x04 | -| * KeySetRemove | 0x03 | -| * KeySetWrite | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GroupKeyMap | 0x0000 | -| * GroupTable | 0x0001 | -| * MaxGroupsPerFabric | 0x0002 | -| * MaxGroupKeysPerFabric | 0x0003 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + ~WriteTimeTimeStatus() {} -/* - * Command KeySetRead - */ -class GroupKeyManagementKeySetRead : public ClusterCommand + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000001, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteTimeTimeZone : public WriteAttribute { public: - GroupKeyManagementKeySetRead(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("key-set-read", credsIssuerConfig) + WriteTimeTimeZone(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("TimeZone", credsIssuerConfig) { - AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "time-zone"); + AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteTimeTimeZone() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000002, mValue); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetRead::Type mRequest; + int32_t mValue; }; -/* - * Command KeySetReadAllIndices - */ -class GroupKeyManagementKeySetReadAllIndices : public ClusterCommand +class WriteTimeDstStart : public WriteAttribute { public: - GroupKeyManagementKeySetReadAllIndices(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("key-set-read-all-indices", credsIssuerConfig), mComplex_GroupKeySetIDs(&mRequest.groupKeySetIDs) + WriteTimeDstStart(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("DstStart", credsIssuerConfig) { - AddArgument("GroupKeySetIDs", &mComplex_GroupKeySetIDs); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "dst-start"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteTimeDstStart() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000004, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000003, mValue); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndices::Type mRequest; - TypedComplexArgument> mComplex_GroupKeySetIDs; + uint32_t mValue; }; -/* - * Command KeySetRemove - */ -class GroupKeyManagementKeySetRemove : public ClusterCommand +class WriteTimeDstEnd : public WriteAttribute { public: - GroupKeyManagementKeySetRemove(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("key-set-remove", credsIssuerConfig) + WriteTimeDstEnd(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("DstEnd", credsIssuerConfig) { - AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "dst-end"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteTimeDstEnd() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000003, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000004, mValue); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetRemove::Type mRequest; + uint32_t mValue; }; -/* - * Command KeySetWrite - */ -class GroupKeyManagementKeySetWrite : public ClusterCommand +class WriteTimeDstShift : public WriteAttribute { public: - GroupKeyManagementKeySetWrite(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("key-set-write", credsIssuerConfig), mComplex_GroupKeySet(&mRequest.groupKeySet) + WriteTimeDstShift(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("DstShift", credsIssuerConfig) { - AddArgument("GroupKeySet", &mComplex_GroupKeySet); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "dst-shift"); + AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteTimeDstShift() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000005, mValue); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetWrite::Type mRequest; - TypedComplexArgument mComplex_GroupKeySet; + int32_t mValue; }; -class WriteGroupKeyManagementGroupKeyMap : public WriteAttribute +class WriteTimeValidUntilTime : public WriteAttribute { public: - WriteGroupKeyManagementGroupKeyMap(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("GroupKeyMap", credsIssuerConfig), mComplex(&mValue) + WriteTimeValidUntilTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ValidUntilTime", credsIssuerConfig) { - AddArgument("attr-name", "group-key-map"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "valid-until-time"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteGroupKeyManagementGroupKeyMap() {} + ~WriteTimeValidUntilTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000003F, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000A, 0x00000009, mValue); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument< - chip::app::DataModel::List> - mComplex; + uint32_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster Groups | 0x0004 | +| Cluster BinaryInputBasic | 0x000F | |------------------------------------------------------------------------------| | Commands: | | -| * AddGroup | 0x00 | -| * AddGroupIfIdentifying | 0x05 | -| * GetGroupMembership | 0x02 | -| * RemoveAllGroups | 0x04 | -| * RemoveGroup | 0x03 | -| * ViewGroup | 0x01 | |------------------------------------------------------------------------------| | Attributes: | | -| * NameSupport | 0x0000 | +| * ActiveText | 0x0004 | +| * Description | 0x001C | +| * InactiveText | 0x002E | +| * OutOfService | 0x0051 | +| * Polarity | 0x0054 | +| * PresentValue | 0x0055 | +| * Reliability | 0x0067 | +| * StatusFlags | 0x006F | +| * ApplicationType | 0x0100 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ -/* - * Command AddGroup - */ -class GroupsAddGroup : public ClusterCommand +class WriteBinaryInputBasicActiveText : public WriteAttribute { public: - GroupsAddGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-group", credsIssuerConfig) + WriteBinaryInputBasicActiveText(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ActiveText", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("GroupName", &mRequest.groupName); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "active-text"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WriteBinaryInputBasicActiveText() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x00000004, mValue); } private: - chip::app::Clusters::Groups::Commands::AddGroup::Type mRequest; + chip::CharSpan mValue; }; -/* - * Command AddGroupIfIdentifying - */ -class GroupsAddGroupIfIdentifying : public ClusterCommand +class WriteBinaryInputBasicDescription : public WriteAttribute { public: - GroupsAddGroupIfIdentifying(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-group-if-identifying", credsIssuerConfig) + WriteBinaryInputBasicDescription(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Description", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("GroupName", &mRequest.groupName); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "description"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WriteBinaryInputBasicDescription() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000005) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000005, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x0000001C, mValue); } private: - chip::app::Clusters::Groups::Commands::AddGroupIfIdentifying::Type mRequest; + chip::CharSpan mValue; }; -/* - * Command GetGroupMembership - */ -class GroupsGetGroupMembership : public ClusterCommand +class WriteBinaryInputBasicInactiveText : public WriteAttribute { public: - GroupsGetGroupMembership(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-group-membership", credsIssuerConfig), mComplex_GroupList(&mRequest.groupList) + WriteBinaryInputBasicInactiveText(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("InactiveText", credsIssuerConfig) { - AddArgument("GroupList", &mComplex_GroupList); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "inactive-text"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WriteBinaryInputBasicInactiveText() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x0000002E, mValue); } private: - chip::app::Clusters::Groups::Commands::GetGroupMembership::Type mRequest; - TypedComplexArgument> mComplex_GroupList; + chip::CharSpan mValue; }; -/* - * Command RemoveAllGroups - */ -class GroupsRemoveAllGroups : public ClusterCommand +class WriteBinaryInputBasicOutOfService : public WriteAttribute { public: - GroupsRemoveAllGroups(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-all-groups", credsIssuerConfig) + WriteBinaryInputBasicOutOfService(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OutOfService", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "out-of-service"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); } + ~WriteBinaryInputBasicOutOfService() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000004, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x00000051, mValue); } private: - chip::app::Clusters::Groups::Commands::RemoveAllGroups::Type mRequest; + bool mValue; }; -/* - * Command RemoveGroup - */ -class GroupsRemoveGroup : public ClusterCommand +class WriteBinaryInputBasicPresentValue : public WriteAttribute { public: - GroupsRemoveGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-group", credsIssuerConfig) + WriteBinaryInputBasicPresentValue(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PresentValue", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "present-value"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); } + ~WriteBinaryInputBasicPresentValue() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000003) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000003, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x00000055, mValue); } private: - chip::app::Clusters::Groups::Commands::RemoveGroup::Type mRequest; + bool mValue; }; -/* - * Command ViewGroup - */ -class GroupsViewGroup : public ClusterCommand +class WriteBinaryInputBasicReliability : public WriteAttribute { public: - GroupsViewGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("view-group", credsIssuerConfig) + WriteBinaryInputBasicReliability(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Reliability", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "reliability"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteBinaryInputBasicReliability() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000004, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000000F, 0x00000067, mValue); } private: - chip::app::Clusters::Groups::Commands::ViewGroup::Type mRequest; + uint8_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster Identify | 0x0003 | +| Cluster PowerProfile | 0x001A | |------------------------------------------------------------------------------| | Commands: | | -| * Identify | 0x00 | -| * IdentifyQuery | 0x01 | -| * TriggerEffect | 0x40 | +| * PowerProfileRequest | 0x00 | +| * PowerProfileStateRequest | 0x01 | +| * GetPowerProfilePriceResponse | 0x02 | +| * GetOverallSchedulePriceResponse | 0x03 | +| * EnergyPhasesScheduleNotification | 0x04 | +| * EnergyPhasesScheduleResponse | 0x05 | +| * PowerProfileScheduleConstraintsRequest | 0x06 | +| * EnergyPhasesScheduleStateRequest | 0x07 | +| * GetPowerProfilePriceExtendedResponse | 0x08 | |------------------------------------------------------------------------------| | Attributes: | | -| * IdentifyTime | 0x0000 | -| * IdentifyType | 0x0001 | +| * TotalProfileNum | 0x0000 | +| * MultipleScheduling | 0x0001 | +| * EnergyFormatting | 0x0002 | +| * EnergyRemote | 0x0003 | +| * ScheduleMode | 0x0004 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ /* - * Command Identify + * Command PowerProfileRequest */ -class IdentifyIdentify : public ClusterCommand +class PowerProfilePowerProfileRequest : public ClusterCommand { public: - IdentifyIdentify(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("identify", credsIssuerConfig) + PowerProfilePowerProfileRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("power-profile-request", credsIssuerConfig) { - AddArgument("IdentifyTime", 0, UINT16_MAX, &mRequest.identifyTime); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000003, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000000, mRequest); } private: - chip::app::Clusters::Identify::Commands::Identify::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::PowerProfileRequest::Type mRequest; }; /* - * Command IdentifyQuery + * Command PowerProfileStateRequest */ -class IdentifyIdentifyQuery : public ClusterCommand +class PowerProfilePowerProfileStateRequest : public ClusterCommand { public: - IdentifyIdentifyQuery(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("identify-query", credsIssuerConfig) + PowerProfilePowerProfileStateRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("power-profile-state-request", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000001) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000003, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000001, mRequest); } private: - chip::app::Clusters::Identify::Commands::IdentifyQuery::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::PowerProfileStateRequest::Type mRequest; }; /* - * Command TriggerEffect + * Command GetPowerProfilePriceResponse */ -class IdentifyTriggerEffect : public ClusterCommand +class PowerProfileGetPowerProfilePriceResponse : public ClusterCommand { public: - IdentifyTriggerEffect(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("trigger-effect", credsIssuerConfig) + PowerProfileGetPowerProfilePriceResponse(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-power-profile-price-response", credsIssuerConfig) { - AddArgument("EffectIdentifier", 0, UINT8_MAX, &mRequest.effectIdentifier); - AddArgument("EffectVariant", 0, UINT8_MAX, &mRequest.effectVariant); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + AddArgument("Currency", 0, UINT16_MAX, &mRequest.currency); + AddArgument("Price", 0, UINT32_MAX, &mRequest.price); + AddArgument("PriceTrailingDigit", 0, UINT8_MAX, &mRequest.priceTrailingDigit); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000040) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000003, 0x00000040, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000002, mRequest); } private: - chip::app::Clusters::Identify::Commands::TriggerEffect::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::GetPowerProfilePriceResponse::Type mRequest; }; -class WriteIdentifyIdentifyTime : public WriteAttribute +/* + * Command GetOverallSchedulePriceResponse + */ +class PowerProfileGetOverallSchedulePriceResponse : public ClusterCommand { public: - WriteIdentifyIdentifyTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("IdentifyTime", credsIssuerConfig) + PowerProfileGetOverallSchedulePriceResponse(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-overall-schedule-price-response", credsIssuerConfig) { - AddArgument("attr-name", "identify-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("Currency", 0, UINT16_MAX, &mRequest.currency); + AddArgument("Price", 0, UINT32_MAX, &mRequest.price); + AddArgument("PriceTrailingDigit", 0, UINT8_MAX, &mRequest.priceTrailingDigit); + ClusterCommand::AddArguments(); } - ~WriteIdentifyIdentifyTime() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000003, 0x00000000, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000003, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::PowerProfile::Commands::GetOverallSchedulePriceResponse::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster IlluminanceMeasurement | 0x0400 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * LightSensorType | 0x0004 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster KeypadInput | 0x0509 | -|------------------------------------------------------------------------------| -| Commands: | | -| * SendKeyRequest | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command SendKeyRequest + * Command EnergyPhasesScheduleNotification */ -class KeypadInputSendKeyRequest : public ClusterCommand +class PowerProfileEnergyPhasesScheduleNotification : public ClusterCommand { public: - KeypadInputSendKeyRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("send-key-request", credsIssuerConfig) + PowerProfileEnergyPhasesScheduleNotification(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("energy-phases-schedule-notification", credsIssuerConfig), + mComplex_ScheduledPhases(&mRequest.scheduledPhases) { - AddArgument("KeyCode", 0, UINT8_MAX, &mRequest.keyCode); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + AddArgument("NumOfScheduledPhases", 0, UINT8_MAX, &mRequest.numOfScheduledPhases); + AddArgument("ScheduledPhases", &mComplex_ScheduledPhases); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000509, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000004, mRequest); } private: - chip::app::Clusters::KeypadInput::Commands::SendKeyRequest::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleNotification::Type mRequest; + TypedComplexArgument> + mComplex_ScheduledPhases; }; -/*----------------------------------------------------------------------------*\ -| Cluster LevelControl | 0x0008 | -|------------------------------------------------------------------------------| -| Commands: | | -| * Move | 0x01 | -| * MoveToLevel | 0x00 | -| * MoveToLevelWithOnOff | 0x04 | -| * MoveWithOnOff | 0x05 | -| * Step | 0x02 | -| * StepWithOnOff | 0x06 | -| * Stop | 0x03 | -| * StopWithOnOff | 0x07 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * CurrentLevel | 0x0000 | -| * RemainingTime | 0x0001 | -| * MinLevel | 0x0002 | -| * MaxLevel | 0x0003 | -| * CurrentFrequency | 0x0004 | -| * MinFrequency | 0x0005 | -| * MaxFrequency | 0x0006 | -| * Options | 0x000F | -| * OnOffTransitionTime | 0x0010 | -| * OnLevel | 0x0011 | -| * OnTransitionTime | 0x0012 | -| * OffTransitionTime | 0x0013 | -| * DefaultMoveRate | 0x0014 | -| * StartUpCurrentLevel | 0x4000 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command Move + * Command EnergyPhasesScheduleResponse */ -class LevelControlMove : public ClusterCommand +class PowerProfileEnergyPhasesScheduleResponse : public ClusterCommand { public: - LevelControlMove(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move", credsIssuerConfig) + PowerProfileEnergyPhasesScheduleResponse(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("energy-phases-schedule-response", credsIssuerConfig), mComplex_ScheduledPhases(&mRequest.scheduledPhases) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); - AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); - AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + AddArgument("NumOfScheduledPhases", 0, UINT8_MAX, &mRequest.numOfScheduledPhases); + AddArgument("ScheduledPhases", &mComplex_ScheduledPhases); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000001) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000005) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000005, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::Move::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleResponse::Type mRequest; + TypedComplexArgument> + mComplex_ScheduledPhases; }; /* - * Command MoveToLevel + * Command PowerProfileScheduleConstraintsRequest */ -class LevelControlMoveToLevel : public ClusterCommand +class PowerProfilePowerProfileScheduleConstraintsRequest : public ClusterCommand { public: - LevelControlMoveToLevel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-level", credsIssuerConfig) + PowerProfilePowerProfileScheduleConstraintsRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("power-profile-schedule-constraints-request", credsIssuerConfig) { - AddArgument("Level", 0, UINT8_MAX, &mRequest.level); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); - AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000006) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000006, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::PowerProfileScheduleConstraintsRequest::Type mRequest; }; /* - * Command MoveToLevelWithOnOff + * Command EnergyPhasesScheduleStateRequest */ -class LevelControlMoveToLevelWithOnOff : public ClusterCommand +class PowerProfileEnergyPhasesScheduleStateRequest : public ClusterCommand { public: - LevelControlMoveToLevelWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-to-level-with-on-off", credsIssuerConfig) + PowerProfileEnergyPhasesScheduleStateRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("energy-phases-schedule-state-request", credsIssuerConfig) { - AddArgument("Level", 0, UINT8_MAX, &mRequest.level); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000004) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000007) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000007, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::MoveToLevelWithOnOff::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleStateRequest::Type mRequest; }; /* - * Command MoveWithOnOff + * Command GetPowerProfilePriceExtendedResponse */ -class LevelControlMoveWithOnOff : public ClusterCommand +class PowerProfileGetPowerProfilePriceExtendedResponse : public ClusterCommand { public: - LevelControlMoveWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-with-on-off", credsIssuerConfig) + PowerProfileGetPowerProfilePriceExtendedResponse(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-power-profile-price-extended-response", credsIssuerConfig) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); + AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + AddArgument("Currency", 0, UINT16_MAX, &mRequest.currency); + AddArgument("Price", 0, UINT32_MAX, &mRequest.price); + AddArgument("PriceTrailingDigit", 0, UINT8_MAX, &mRequest.priceTrailingDigit); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000005) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000008) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001A, 0x00000008, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::MoveWithOnOff::Type mRequest; + chip::app::Clusters::PowerProfile::Commands::GetPowerProfilePriceExtendedResponse::Type mRequest; }; -/* - * Command Step - */ -class LevelControlStep : public ClusterCommand +class WritePowerProfileScheduleMode : public WriteAttribute { public: - LevelControlStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step", credsIssuerConfig) + WritePowerProfileScheduleMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ScheduleMode", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); - AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "schedule-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePowerProfileScheduleMode() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000001A, 0x00000004, mValue); } private: - chip::app::Clusters::LevelControl::Commands::Step::Type mRequest; + uint8_t mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster ApplianceControl | 0x001B | +|------------------------------------------------------------------------------| +| Commands: | | +| * ExecutionOfACommand | 0x00 | +| * SignalState | 0x01 | +| * WriteFunctions | 0x02 | +| * OverloadPauseResume | 0x03 | +| * OverloadPause | 0x04 | +| * OverloadWarning | 0x05 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * StartTime | 0x0000 | +| * FinishTime | 0x0001 | +| * RemainingTime | 0x0002 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command StepWithOnOff + * Command ExecutionOfACommand */ -class LevelControlStepWithOnOff : public ClusterCommand +class ApplianceControlExecutionOfACommand : public ClusterCommand { public: - LevelControlStepWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-with-on-off", credsIssuerConfig) + ApplianceControlExecutionOfACommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("execution-of-acommand", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("CommandId", 0, UINT8_MAX, &mRequest.commandId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000006) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001B, 0x00000000, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::StepWithOnOff::Type mRequest; + chip::app::Clusters::ApplianceControl::Commands::ExecutionOfACommand::Type mRequest; }; /* - * Command Stop + * Command SignalState */ -class LevelControlStop : public ClusterCommand +class ApplianceControlSignalState : public ClusterCommand { public: - LevelControlStop(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop", credsIssuerConfig) + ApplianceControlSignalState(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("signal-state", credsIssuerConfig) { - AddArgument("OptionMask", 0, UINT8_MAX, &mRequest.optionMask); - AddArgument("OptionOverride", 0, UINT8_MAX, &mRequest.optionOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000003) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001B, 0x00000001, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::Stop::Type mRequest; + chip::app::Clusters::ApplianceControl::Commands::SignalState::Type mRequest; }; /* - * Command StopWithOnOff + * Command WriteFunctions */ -class LevelControlStopWithOnOff : public ClusterCommand +class ApplianceControlWriteFunctions : public ClusterCommand { public: - LevelControlStopWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-with-on-off", credsIssuerConfig) + ApplianceControlWriteFunctions(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("write-functions", credsIssuerConfig), mComplex_FunctionData(&mRequest.functionData) { + AddArgument("FunctionId", 0, UINT16_MAX, &mRequest.functionId); + AddArgument("FunctionDataType", 0, UINT8_MAX, &mRequest.functionDataType); + AddArgument("FunctionData", &mComplex_FunctionData); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000007) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000008, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000001B, 0x00000002, mRequest); } private: - chip::app::Clusters::LevelControl::Commands::StopWithOnOff::Type mRequest; + chip::app::Clusters::ApplianceControl::Commands::WriteFunctions::Type mRequest; + TypedComplexArgument> mComplex_FunctionData; }; -class WriteLevelControlOptions : public WriteAttribute +/* + * Command OverloadPauseResume + */ +class ApplianceControlOverloadPauseResume : public ClusterCommand { public: - WriteLevelControlOptions(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Options", credsIssuerConfig) + ApplianceControlOverloadPauseResume(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("overload-pause-resume", credsIssuerConfig) { - AddArgument("attr-name", "options"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteLevelControlOptions() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x0000000F, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000001B, 0x00000003, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::ApplianceControl::Commands::OverloadPauseResume::Type mRequest; }; -class WriteLevelControlOnOffTransitionTime : public WriteAttribute +/* + * Command OverloadPause + */ +class ApplianceControlOverloadPause : public ClusterCommand { public: - WriteLevelControlOnOffTransitionTime(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OnOffTransitionTime", credsIssuerConfig) + ApplianceControlOverloadPause(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("overload-pause", credsIssuerConfig) { - AddArgument("attr-name", "on-off-transition-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteLevelControlOnOffTransitionTime() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000010, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000001B, 0x00000004, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::ApplianceControl::Commands::OverloadPause::Type mRequest; }; -class WriteLevelControlOnLevel : public WriteAttribute +/* + * Command OverloadWarning + */ +class ApplianceControlOverloadWarning : public ClusterCommand { public: - WriteLevelControlOnLevel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OnLevel", credsIssuerConfig) + ApplianceControlOverloadWarning(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("overload-warning", credsIssuerConfig) { - AddArgument("attr-name", "on-level"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("WarningEvent", 0, UINT8_MAX, &mRequest.warningEvent); + ClusterCommand::AddArguments(); } - ~WriteLevelControlOnLevel() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000011, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000001B, 0x00000005, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::ApplianceControl::Commands::OverloadWarning::Type mRequest; }; -class WriteLevelControlOnTransitionTime : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster PulseWidthModulation | 0x001C | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster Descriptor | 0x001D | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * DeviceList | 0x0000 | +| * ServerList | 0x0001 | +| * ClientList | 0x0002 | +| * PartsList | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster Binding | 0x001E | +|------------------------------------------------------------------------------| +| Commands: | | +| * Bind | 0x00 | +| * Unbind | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command Bind + */ +class BindingBind : public ClusterCommand { public: - WriteLevelControlOnTransitionTime(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OnTransitionTime", credsIssuerConfig) + BindingBind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("bind", credsIssuerConfig) { - AddArgument("attr-name", "on-transition-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("NodeId", 0, UINT64_MAX, &mRequest.nodeId); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("EndpointId", 0, UINT16_MAX, &mRequest.endpointId); + AddArgument("ClusterId", 0, UINT32_MAX, &mRequest.clusterId); + ClusterCommand::AddArguments(); } - ~WriteLevelControlOnTransitionTime() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000012, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x0000001E) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000001E, 0x00000000, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::Binding::Commands::Bind::Type mRequest; }; -class WriteLevelControlOffTransitionTime : public WriteAttribute +/* + * Command Unbind + */ +class BindingUnbind : public ClusterCommand { public: - WriteLevelControlOffTransitionTime(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OffTransitionTime", credsIssuerConfig) + BindingUnbind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unbind", credsIssuerConfig) { - AddArgument("attr-name", "off-transition-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("NodeId", 0, UINT64_MAX, &mRequest.nodeId); + AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("EndpointId", 0, UINT16_MAX, &mRequest.endpointId); + AddArgument("ClusterId", 0, UINT32_MAX, &mRequest.clusterId); + ClusterCommand::AddArguments(); } - ~WriteLevelControlOffTransitionTime() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000013, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x0000001E) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000001E, 0x00000001, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::Binding::Commands::Unbind::Type mRequest; }; -class WriteLevelControlDefaultMoveRate : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster AccessControl | 0x001F | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Acl | 0x0000 | +| * Extension | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * AccessControlEntryChanged | 0x0000 | +| * AccessControlExtensionChanged | 0x0001 | +\*----------------------------------------------------------------------------*/ + +class WriteAccessControlAcl : public WriteAttribute { public: - WriteLevelControlDefaultMoveRate(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("DefaultMoveRate", credsIssuerConfig) + WriteAccessControlAcl(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Acl", credsIssuerConfig), mComplex(&mValue) { - AddArgument("attr-name", "default-move-rate"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "acl"); + AddArgument("attr-value", &mComplex); WriteAttribute::AddArguments(); } - ~WriteLevelControlDefaultMoveRate() {} + ~WriteAccessControlAcl() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00000014, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x0000001F, 0x00000000, mValue); } private: - chip::app::DataModel::Nullable mValue; + chip::app::DataModel::List mValue; + TypedComplexArgument> + mComplex; }; -class WriteLevelControlStartUpCurrentLevel : public WriteAttribute +class WriteAccessControlExtension : public WriteAttribute { public: - WriteLevelControlStartUpCurrentLevel(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("StartUpCurrentLevel", credsIssuerConfig) + WriteAccessControlExtension(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Extension", credsIssuerConfig), mComplex(&mValue) { - AddArgument("attr-name", "start-up-current-level"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "extension"); + AddArgument("attr-value", &mComplex); WriteAttribute::AddArguments(); } - ~WriteLevelControlStartUpCurrentLevel() {} + ~WriteAccessControlExtension() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000008, 0x00004000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x0000001F, 0x00000001, mValue); } private: - chip::app::DataModel::Nullable mValue; + chip::app::DataModel::List mValue; + TypedComplexArgument> + mComplex; }; /*----------------------------------------------------------------------------*\ -| Cluster LocalizationConfiguration | 0x002B | +| Cluster PollControl | 0x0020 | |------------------------------------------------------------------------------| | Commands: | | +| * CheckInResponse | 0x00 | +| * FastPollStop | 0x01 | +| * SetLongPollInterval | 0x02 | +| * SetShortPollInterval | 0x03 | |------------------------------------------------------------------------------| | Attributes: | | -| * ActiveLocale | 0x0001 | -| * SupportedLocales | 0x0002 | +| * CheckInInterval | 0x0000 | +| * LongPollInterval | 0x0001 | +| * ShortPollInterval | 0x0002 | +| * FastPollTimeout | 0x0003 | +| * CheckInIntervalMin | 0x0004 | +| * LongPollIntervalMin | 0x0005 | +| * FastPollTimeoutMax | 0x0006 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ -class WriteLocalizationConfigurationActiveLocale : public WriteAttribute +/* + * Command CheckInResponse + */ +class PollControlCheckInResponse : public ClusterCommand { public: - WriteLocalizationConfigurationActiveLocale(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ActiveLocale", credsIssuerConfig) + PollControlCheckInResponse(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("check-in-response", credsIssuerConfig) { - AddArgument("attr-name", "active-locale"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + AddArgument("StartFastPolling", 0, 1, &mRequest.startFastPolling); + AddArgument("FastPollTimeout", 0, UINT16_MAX, &mRequest.fastPollTimeout); + ClusterCommand::AddArguments(); } - ~WriteLocalizationConfigurationActiveLocale() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000002B, 0x00000001, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000020, 0x00000000, mRequest); } private: - chip::CharSpan mValue; + chip::app::Clusters::PollControl::Commands::CheckInResponse::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster LowPower | 0x0508 | -|------------------------------------------------------------------------------| -| Commands: | | -| * Sleep | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command Sleep + * Command FastPollStop */ -class LowPowerSleep : public ClusterCommand +class PollControlFastPollStop : public ClusterCommand { public: - LowPowerSleep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("sleep", credsIssuerConfig) + PollControlFastPollStop(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fast-poll-stop", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000508, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000020, 0x00000001, mRequest); } private: - chip::app::Clusters::LowPower::Commands::Sleep::Type mRequest; + chip::app::Clusters::PollControl::Commands::FastPollStop::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster MediaInput | 0x0507 | -|------------------------------------------------------------------------------| -| Commands: | | -| * HideInputStatusRequest | 0x02 | -| * RenameInputRequest | 0x03 | -| * SelectInputRequest | 0x00 | -| * ShowInputStatusRequest | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MediaInputList | 0x0000 | -| * CurrentMediaInput | 0x0001 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command HideInputStatusRequest + * Command SetLongPollInterval */ -class MediaInputHideInputStatusRequest : public ClusterCommand +class PollControlSetLongPollInterval : public ClusterCommand { public: - MediaInputHideInputStatusRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("hide-input-status-request", credsIssuerConfig) + PollControlSetLongPollInterval(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-long-poll-interval", credsIssuerConfig) { + AddArgument("NewLongPollInterval", 0, UINT32_MAX, &mRequest.newLongPollInterval); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000020, 0x00000002, mRequest); } private: - chip::app::Clusters::MediaInput::Commands::HideInputStatusRequest::Type mRequest; + chip::app::Clusters::PollControl::Commands::SetLongPollInterval::Type mRequest; }; /* - * Command RenameInputRequest + * Command SetShortPollInterval */ -class MediaInputRenameInputRequest : public ClusterCommand +class PollControlSetShortPollInterval : public ClusterCommand { public: - MediaInputRenameInputRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("rename-input-request", credsIssuerConfig) + PollControlSetShortPollInterval(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-short-poll-interval", credsIssuerConfig) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); - AddArgument("Name", &mRequest.name); + AddArgument("NewShortPollInterval", 0, UINT16_MAX, &mRequest.newShortPollInterval); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000020, 0x00000003, mRequest); } private: - chip::app::Clusters::MediaInput::Commands::RenameInputRequest::Type mRequest; + chip::app::Clusters::PollControl::Commands::SetShortPollInterval::Type mRequest; }; -/* - * Command SelectInputRequest - */ -class MediaInputSelectInputRequest : public ClusterCommand +class WritePollControlCheckInInterval : public WriteAttribute { public: - MediaInputSelectInputRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("select-input-request", credsIssuerConfig) + WritePollControlCheckInInterval(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("CheckInInterval", credsIssuerConfig) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "check-in-interval"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePollControlCheckInInterval() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000020, 0x00000000, mValue); } private: - chip::app::Clusters::MediaInput::Commands::SelectInputRequest::Type mRequest; + uint32_t mValue; }; -/* - * Command ShowInputStatusRequest - */ -class MediaInputShowInputStatusRequest : public ClusterCommand +class WritePollControlFastPollTimeout : public WriteAttribute { public: - MediaInputShowInputStatusRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("show-input-status-request", credsIssuerConfig) + WritePollControlFastPollTimeout(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("FastPollTimeout", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "fast-poll-timeout"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePollControlFastPollTimeout() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000020, 0x00000003, mValue); } private: - chip::app::Clusters::MediaInput::Commands::ShowInputStatusRequest::Type mRequest; + uint16_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster MediaPlayback | 0x0506 | +| Cluster BridgedActions | 0x0025 | |------------------------------------------------------------------------------| | Commands: | | -| * FastForwardRequest | 0x07 | -| * NextRequest | 0x05 | -| * PauseRequest | 0x01 | -| * PlayRequest | 0x00 | -| * PreviousRequest | 0x04 | -| * RewindRequest | 0x06 | -| * SeekRequest | 0x0B | -| * SkipBackwardRequest | 0x09 | -| * SkipForwardRequest | 0x08 | -| * StartOverRequest | 0x03 | -| * StopRequest | 0x02 | +| * InstantAction | 0x00 | +| * InstantActionWithTransition | 0x01 | +| * StartAction | 0x02 | +| * StartActionWithDuration | 0x03 | +| * StopAction | 0x04 | +| * PauseAction | 0x05 | +| * PauseActionWithDuration | 0x06 | +| * ResumeAction | 0x07 | +| * EnableAction | 0x08 | +| * EnableActionWithDuration | 0x09 | +| * DisableAction | 0x0A | +| * DisableActionWithDuration | 0x0B | |------------------------------------------------------------------------------| | Attributes: | | -| * PlaybackState | 0x0000 | -| * StartTime | 0x0001 | -| * Duration | 0x0002 | -| * Position | 0x0003 | -| * PlaybackSpeed | 0x0004 | -| * SeekRangeEnd | 0x0005 | -| * SeekRangeStart | 0x0006 | +| * ActionList | 0x0000 | +| * EndpointList | 0x0001 | +| * SetupUrl | 0x0002 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * StateChanged | 0x0000 | +| * ActionFailed | 0x0001 | \*----------------------------------------------------------------------------*/ /* - * Command FastForwardRequest + * Command InstantAction */ -class MediaPlaybackFastForwardRequest : public ClusterCommand +class BridgedActionsInstantAction : public ClusterCommand { public: - MediaPlaybackFastForwardRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("fast-forward-request", credsIssuerConfig) + BridgedActionsInstantAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("instant-action", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000000, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::FastForwardRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::InstantAction::Type mRequest; }; /* - * Command NextRequest + * Command InstantActionWithTransition */ -class MediaPlaybackNextRequest : public ClusterCommand +class BridgedActionsInstantActionWithTransition : public ClusterCommand { public: - MediaPlaybackNextRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("next-request", credsIssuerConfig) + BridgedActionsInstantActionWithTransition(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("instant-action-with-transition", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000001, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::NextRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::InstantActionWithTransition::Type mRequest; }; /* - * Command PauseRequest + * Command StartAction */ -class MediaPlaybackPauseRequest : public ClusterCommand +class BridgedActionsStartAction : public ClusterCommand { public: - MediaPlaybackPauseRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-request", credsIssuerConfig) + BridgedActionsStartAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-action", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000002, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::PauseRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::StartAction::Type mRequest; }; /* - * Command PlayRequest + * Command StartActionWithDuration */ -class MediaPlaybackPlayRequest : public ClusterCommand +class BridgedActionsStartActionWithDuration : public ClusterCommand { public: - MediaPlaybackPlayRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("play-request", credsIssuerConfig) + BridgedActionsStartActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("start-action-with-duration", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000003, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::PlayRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::StartActionWithDuration::Type mRequest; }; /* - * Command PreviousRequest + * Command StopAction */ -class MediaPlaybackPreviousRequest : public ClusterCommand +class BridgedActionsStopAction : public ClusterCommand { public: - MediaPlaybackPreviousRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("previous-request", credsIssuerConfig) + BridgedActionsStopAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-action", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000004, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::PreviousRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::StopAction::Type mRequest; }; /* - * Command RewindRequest + * Command PauseAction */ -class MediaPlaybackRewindRequest : public ClusterCommand +class BridgedActionsPauseAction : public ClusterCommand { public: - MediaPlaybackRewindRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rewind-request", credsIssuerConfig) + BridgedActionsPauseAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-action", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000005, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::RewindRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::PauseAction::Type mRequest; }; /* - * Command SeekRequest + * Command PauseActionWithDuration */ -class MediaPlaybackSeekRequest : public ClusterCommand +class BridgedActionsPauseActionWithDuration : public ClusterCommand { public: - MediaPlaybackSeekRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("seek-request", credsIssuerConfig) + BridgedActionsPauseActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("pause-action-with-duration", credsIssuerConfig) { - AddArgument("Position", 0, UINT64_MAX, &mRequest.position); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x0000000B, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000006, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::SeekRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::PauseActionWithDuration::Type mRequest; }; /* - * Command SkipBackwardRequest + * Command ResumeAction */ -class MediaPlaybackSkipBackwardRequest : public ClusterCommand +class BridgedActionsResumeAction : public ClusterCommand { public: - MediaPlaybackSkipBackwardRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("skip-backward-request", credsIssuerConfig) + BridgedActionsResumeAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("resume-action", credsIssuerConfig) { - AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000007, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::SkipBackwardRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::ResumeAction::Type mRequest; }; /* - * Command SkipForwardRequest + * Command EnableAction */ -class MediaPlaybackSkipForwardRequest : public ClusterCommand +class BridgedActionsEnableAction : public ClusterCommand { public: - MediaPlaybackSkipForwardRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("skip-forward-request", credsIssuerConfig) + BridgedActionsEnableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enable-action", credsIssuerConfig) { - AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000008, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::SkipForwardRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::EnableAction::Type mRequest; }; /* - * Command StartOverRequest + * Command EnableActionWithDuration */ -class MediaPlaybackStartOverRequest : public ClusterCommand +class BridgedActionsEnableActionWithDuration : public ClusterCommand { public: - MediaPlaybackStartOverRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("start-over-request", credsIssuerConfig) + BridgedActionsEnableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enable-action-with-duration", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x00000009, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::StartOverRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::EnableActionWithDuration::Type mRequest; }; /* - * Command StopRequest + * Command DisableAction */ -class MediaPlaybackStopRequest : public ClusterCommand +class BridgedActionsDisableAction : public ClusterCommand { public: - MediaPlaybackStopRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-request", credsIssuerConfig) + BridgedActionsDisableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("disable-action", credsIssuerConfig) { + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x0000000A, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::StopRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::DisableAction::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster ModeSelect | 0x0050 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ChangeToMode | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * CurrentMode | 0x0000 | -| * SupportedModes | 0x0001 | -| * OnMode | 0x0002 | -| * StartUpMode | 0x0003 | -| * Description | 0x0004 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command ChangeToMode + * Command DisableActionWithDuration */ -class ModeSelectChangeToMode : public ClusterCommand +class BridgedActionsDisableActionWithDuration : public ClusterCommand { public: - ModeSelectChangeToMode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-to-mode", credsIssuerConfig) + BridgedActionsDisableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("disable-action-with-duration", credsIssuerConfig) { - AddArgument("NewMode", 0, UINT8_MAX, &mRequest.newMode); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000050, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::ModeSelect::Commands::ChangeToMode::Type mRequest; -}; - -class WriteModeSelectOnMode : public WriteAttribute -{ -public: - WriteModeSelectOnMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OnMode", credsIssuerConfig) - { - AddArgument("attr-name", "on-mode"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); - } - - ~WriteModeSelectOnMode() {} + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on endpoint %" PRIu16, endpointId); - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - return WriteAttribute::SendCommand(device, endpointId, 0x00000050, 0x00000002, mValue); + return ClusterCommand::SendCommand(device, endpointId, 0x00000025, 0x0000000B, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::BridgedActions::Commands::DisableActionWithDuration::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster NetworkCommissioning | 0x0031 | +| Cluster Basic | 0x0028 | |------------------------------------------------------------------------------| | Commands: | | -| * AddOrUpdateThreadNetwork | 0x03 | -| * AddOrUpdateWiFiNetwork | 0x02 | -| * ConnectNetwork | 0x06 | -| * RemoveNetwork | 0x04 | -| * ReorderNetwork | 0x08 | -| * ScanNetworks | 0x00 | +| * MfgSpecificPing | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * MaxNetworks | 0x0000 | -| * Networks | 0x0001 | -| * ScanMaxTimeSeconds | 0x0002 | -| * ConnectMaxTimeSeconds | 0x0003 | -| * InterfaceEnabled | 0x0004 | -| * LastNetworkingStatus | 0x0005 | -| * LastNetworkID | 0x0006 | -| * LastConnectErrorValue | 0x0007 | +| * DataModelRevision | 0x0000 | +| * VendorName | 0x0001 | +| * VendorID | 0x0002 | +| * ProductName | 0x0003 | +| * ProductID | 0x0004 | +| * NodeLabel | 0x0005 | +| * Location | 0x0006 | +| * HardwareVersion | 0x0007 | +| * HardwareVersionString | 0x0008 | +| * SoftwareVersion | 0x0009 | +| * SoftwareVersionString | 0x000A | +| * ManufacturingDate | 0x000B | +| * PartNumber | 0x000C | +| * ProductURL | 0x000D | +| * ProductLabel | 0x000E | +| * SerialNumber | 0x000F | +| * LocalConfigDisabled | 0x0010 | +| * Reachable | 0x0011 | +| * UniqueID | 0x0012 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | | * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * StartUp | 0x0000 | +| * ShutDown | 0x0001 | +| * Leave | 0x0002 | +| * ReachableChanged | 0x0003 | \*----------------------------------------------------------------------------*/ /* - * Command AddOrUpdateThreadNetwork + * Command MfgSpecificPing */ -class NetworkCommissioningAddOrUpdateThreadNetwork : public ClusterCommand +class BasicMfgSpecificPing : public ClusterCommand { public: - NetworkCommissioningAddOrUpdateThreadNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-or-update-thread-network", credsIssuerConfig) + BasicMfgSpecificPing(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("mfg-specific-ping", credsIssuerConfig) { - AddArgument("OperationalDataset", &mRequest.operationalDataset); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000028, 0x00000000, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateThreadNetwork::Type mRequest; + chip::app::Clusters::Basic::Commands::MfgSpecificPing::Type mRequest; }; -/* - * Command AddOrUpdateWiFiNetwork - */ -class NetworkCommissioningAddOrUpdateWiFiNetwork : public ClusterCommand +class WriteBasicNodeLabel : public WriteAttribute { public: - NetworkCommissioningAddOrUpdateWiFiNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-or-update-wi-fi-network", credsIssuerConfig) + WriteBasicNodeLabel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NodeLabel", credsIssuerConfig) { - AddArgument("Ssid", &mRequest.ssid); - AddArgument("Credentials", &mRequest.credentials); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "node-label"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WriteBasicNodeLabel() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000028, 0x00000005, mValue); } private: - chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateWiFiNetwork::Type mRequest; + chip::CharSpan mValue; }; -/* - * Command ConnectNetwork - */ -class NetworkCommissioningConnectNetwork : public ClusterCommand +class WriteBasicLocation : public WriteAttribute { public: - NetworkCommissioningConnectNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("connect-network", credsIssuerConfig) + WriteBasicLocation(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Location", credsIssuerConfig) { - AddArgument("NetworkID", &mRequest.networkID); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "location"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WriteBasicLocation() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000006, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000028, 0x00000006, mValue); } private: - chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetwork::Type mRequest; + chip::CharSpan mValue; }; -/* - * Command RemoveNetwork - */ -class NetworkCommissioningRemoveNetwork : public ClusterCommand +class WriteBasicLocalConfigDisabled : public WriteAttribute { public: - NetworkCommissioningRemoveNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("remove-network", credsIssuerConfig) + WriteBasicLocalConfigDisabled(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LocalConfigDisabled", credsIssuerConfig) { - AddArgument("NetworkID", &mRequest.networkID); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "local-config-disabled"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); } + ~WriteBasicLocalConfigDisabled() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000004, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000028, 0x00000010, mValue); } private: - chip::app::Clusters::NetworkCommissioning::Commands::RemoveNetwork::Type mRequest; + bool mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster OtaSoftwareUpdateProvider | 0x0029 | +|------------------------------------------------------------------------------| +| Commands: | | +| * QueryImage | 0x00 | +| * ApplyUpdateRequest | 0x02 | +| * NotifyUpdateApplied | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command ReorderNetwork + * Command QueryImage */ -class NetworkCommissioningReorderNetwork : public ClusterCommand +class OtaSoftwareUpdateProviderQueryImage : public ClusterCommand { public: - NetworkCommissioningReorderNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reorder-network", credsIssuerConfig) + OtaSoftwareUpdateProviderQueryImage(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("query-image", credsIssuerConfig), mComplex_ProtocolsSupported(&mRequest.protocolsSupported) { - AddArgument("NetworkID", &mRequest.networkID); - AddArgument("NetworkIndex", 0, UINT8_MAX, &mRequest.networkIndex); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("VendorId", 0, UINT16_MAX, &mRequest.vendorId); + AddArgument("ProductId", 0, UINT16_MAX, &mRequest.productId); + AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion); + AddArgument("ProtocolsSupported", &mComplex_ProtocolsSupported); + AddArgument("HardwareVersion", 0, UINT16_MAX, &mRequest.hardwareVersion); + AddArgument("Location", &mRequest.location); + AddArgument("RequestorCanConsent", 0, 1, &mRequest.requestorCanConsent); + AddArgument("MetadataForProvider", &mRequest.metadataForProvider); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000029, 0x00000000, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::ReorderNetwork::Type mRequest; + chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImage::Type mRequest; + TypedComplexArgument> + mComplex_ProtocolsSupported; }; /* - * Command ScanNetworks + * Command ApplyUpdateRequest */ -class NetworkCommissioningScanNetworks : public ClusterCommand +class OtaSoftwareUpdateProviderApplyUpdateRequest : public ClusterCommand { public: - NetworkCommissioningScanNetworks(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("scan-networks", credsIssuerConfig) + OtaSoftwareUpdateProviderApplyUpdateRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("apply-update-request", credsIssuerConfig) { - AddArgument("Ssid", &mRequest.ssid); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("UpdateToken", &mRequest.updateToken); + AddArgument("NewVersion", 0, UINT32_MAX, &mRequest.newVersion); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000029, 0x00000002, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworks::Type mRequest; + chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Type mRequest; }; -class WriteNetworkCommissioningInterfaceEnabled : public WriteAttribute +/* + * Command NotifyUpdateApplied + */ +class OtaSoftwareUpdateProviderNotifyUpdateApplied : public ClusterCommand { public: - WriteNetworkCommissioningInterfaceEnabled(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("InterfaceEnabled", credsIssuerConfig) + OtaSoftwareUpdateProviderNotifyUpdateApplied(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("notify-update-applied", credsIssuerConfig) { - AddArgument("attr-name", "interface-enabled"); - AddArgument("attr-value", 0, 1, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UpdateToken", &mRequest.updateToken); + AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion); + ClusterCommand::AddArguments(); } - ~WriteNetworkCommissioningInterfaceEnabled() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000031, 0x00000004, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000029, 0x00000004, mRequest); } private: - bool mValue; + chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster OtaSoftwareUpdateProvider | 0x0029 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ApplyUpdateRequest | 0x02 | -| * NotifyUpdateApplied | 0x04 | -| * QueryImage | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command ApplyUpdateRequest - */ -class OtaSoftwareUpdateProviderApplyUpdateRequest : public ClusterCommand -{ -public: - OtaSoftwareUpdateProviderApplyUpdateRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("apply-update-request", credsIssuerConfig) - { - AddArgument("UpdateToken", &mRequest.updateToken); - AddArgument("NewVersion", 0, UINT32_MAX, &mRequest.newVersion); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000029, 0x00000002, mRequest); - } - -private: - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Type mRequest; -}; - -/* - * Command NotifyUpdateApplied - */ -class OtaSoftwareUpdateProviderNotifyUpdateApplied : public ClusterCommand -{ -public: - OtaSoftwareUpdateProviderNotifyUpdateApplied(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("notify-update-applied", credsIssuerConfig) - { - AddArgument("UpdateToken", &mRequest.updateToken); - AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000029, 0x00000004, mRequest); - } - -private: - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Type mRequest; -}; - -/* - * Command QueryImage - */ -class OtaSoftwareUpdateProviderQueryImage : public ClusterCommand -{ -public: - OtaSoftwareUpdateProviderQueryImage(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("query-image", credsIssuerConfig), mComplex_ProtocolsSupported(&mRequest.protocolsSupported) - { - AddArgument("VendorId", 0, UINT16_MAX, &mRequest.vendorId); - AddArgument("ProductId", 0, UINT16_MAX, &mRequest.productId); - AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion); - AddArgument("ProtocolsSupported", &mComplex_ProtocolsSupported); - AddArgument("HardwareVersion", 0, UINT16_MAX, &mRequest.hardwareVersion); - AddArgument("Location", &mRequest.location); - AddArgument("RequestorCanConsent", 0, 1, &mRequest.requestorCanConsent); - AddArgument("MetadataForProvider", &mRequest.metadataForProvider); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000029, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImage::Type mRequest; - TypedComplexArgument> - mComplex_ProtocolsSupported; -}; - -/*----------------------------------------------------------------------------*\ -| Cluster OtaSoftwareUpdateRequestor | 0x002A | +| Cluster OtaSoftwareUpdateRequestor | 0x002A | |------------------------------------------------------------------------------| | Commands: | | | * AnnounceOtaProvider | 0x00 | @@ -4923,7 +4371,10 @@ class OtaSoftwareUpdateProviderQueryImage : public ClusterCommand | * UpdatePossible | 0x0001 | | * UpdateState | 0x0002 | | * UpdateStateProgress | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | @@ -4986,39 +4437,53 @@ class WriteOtaSoftwareUpdateRequestorDefaultOtaProviders : public WriteAttribute }; /*----------------------------------------------------------------------------*\ -| Cluster OccupancySensing | 0x0406 | +| Cluster LocalizationConfiguration | 0x002B | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Occupancy | 0x0000 | -| * OccupancySensorType | 0x0001 | -| * OccupancySensorTypeBitmap | 0x0002 | +| * ActiveLocale | 0x0001 | +| * SupportedLocales | 0x0002 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ +class WriteLocalizationConfigurationActiveLocale : public WriteAttribute +{ +public: + WriteLocalizationConfigurationActiveLocale(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ActiveLocale", credsIssuerConfig) + { + AddArgument("attr-name", "active-locale"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteLocalizationConfigurationActiveLocale() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000002B, 0x00000001, mValue); + } + +private: + chip::CharSpan mValue; +}; + /*----------------------------------------------------------------------------*\ -| Cluster OnOff | 0x0006 | +| Cluster TimeFormatLocalization | 0x002C | |------------------------------------------------------------------------------| | Commands: | | -| * Off | 0x00 | -| * OffWithEffect | 0x40 | -| * On | 0x01 | -| * OnWithRecallGlobalScene | 0x41 | -| * OnWithTimedOff | 0x42 | -| * Toggle | 0x02 | |------------------------------------------------------------------------------| | Attributes: | | -| * OnOff | 0x0000 | -| * GlobalSceneControl | 0x4000 | -| * OnTime | 0x4001 | -| * OffWaitTime | 0x4002 | -| * StartUpOnOff | 0x4003 | +| * HourFormat | 0x0000 | +| * ActiveCalendarType | 0x0001 | +| * SupportedCalendarTypes | 0x0002 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -5028,507 +4493,529 @@ class WriteOtaSoftwareUpdateRequestorDefaultOtaProviders : public WriteAttribute | Events: | | \*----------------------------------------------------------------------------*/ -/* - * Command Off - */ -class OnOffOff : public ClusterCommand +class WriteTimeFormatLocalizationHourFormat : public WriteAttribute { public: - OnOffOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("off", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + WriteTimeFormatLocalizationHourFormat(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("HourFormat", credsIssuerConfig) { - ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000000, mRequest); + AddArgument("attr-name", "hour-format"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } -private: - chip::app::Clusters::OnOff::Commands::Off::Type mRequest; -}; - -/* - * Command OffWithEffect - */ -class OnOffOffWithEffect : public ClusterCommand -{ -public: - OnOffOffWithEffect(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("off-with-effect", credsIssuerConfig) - { - AddArgument("EffectId", 0, UINT8_MAX, &mRequest.effectId); - AddArgument("EffectVariant", 0, UINT8_MAX, &mRequest.effectVariant); - ClusterCommand::AddArguments(); - } + ~WriteTimeFormatLocalizationHourFormat() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000040) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000040, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000002C, 0x00000000, mValue); } private: - chip::app::Clusters::OnOff::Commands::OffWithEffect::Type mRequest; + chip::app::Clusters::TimeFormatLocalization::HourFormat mValue; }; -/* - * Command On - */ -class OnOffOn : public ClusterCommand +class WriteTimeFormatLocalizationActiveCalendarType : public WriteAttribute { public: - OnOffOn(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("on", credsIssuerConfig) + WriteTimeFormatLocalizationActiveCalendarType(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ActiveCalendarType", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "active-calendar-type"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteTimeFormatLocalizationActiveCalendarType() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000002C, 0x00000001, mValue); } private: - chip::app::Clusters::OnOff::Commands::On::Type mRequest; + chip::app::Clusters::TimeFormatLocalization::CalendarType mValue; }; -/* - * Command OnWithRecallGlobalScene - */ -class OnOffOnWithRecallGlobalScene : public ClusterCommand +/*----------------------------------------------------------------------------*\ +| Cluster UnitLocalization | 0x002D | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * TemperatureUnit | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteUnitLocalizationTemperatureUnit : public WriteAttribute { public: - OnOffOnWithRecallGlobalScene(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("on-with-recall-global-scene", credsIssuerConfig) + WriteUnitLocalizationTemperatureUnit(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("TemperatureUnit", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "temperature-unit"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteUnitLocalizationTemperatureUnit() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000041) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000041, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000002D, 0x00000000, mValue); } private: - chip::app::Clusters::OnOff::Commands::OnWithRecallGlobalScene::Type mRequest; + chip::app::Clusters::UnitLocalization::TempUnit mValue; }; -/* - * Command OnWithTimedOff - */ -class OnOffOnWithTimedOff : public ClusterCommand -{ -public: - OnOffOnWithTimedOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("on-with-timed-off", credsIssuerConfig) - { - AddArgument("OnOffControl", 0, UINT8_MAX, &mRequest.onOffControl); - AddArgument("OnTime", 0, UINT16_MAX, &mRequest.onTime); - AddArgument("OffWaitTime", 0, UINT16_MAX, &mRequest.offWaitTime); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000042) on endpoint %" PRIu16, endpointId); +/*----------------------------------------------------------------------------*\ +| Cluster PowerSourceConfiguration | 0x002E | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Sources | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000042, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster PowerSource | 0x002F | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Status | 0x0000 | +| * Order | 0x0001 | +| * Description | 0x0002 | +| * WiredAssessedInputVoltage | 0x0003 | +| * WiredAssessedInputFrequency | 0x0004 | +| * WiredCurrentType | 0x0005 | +| * WiredAssessedCurrent | 0x0006 | +| * WiredNominalVoltage | 0x0007 | +| * WiredMaximumCurrent | 0x0008 | +| * WiredPresent | 0x0009 | +| * ActiveWiredFaults | 0x000A | +| * BatteryVoltage | 0x000B | +| * BatteryPercentRemaining | 0x000C | +| * BatteryTimeRemaining | 0x000D | +| * BatteryChargeLevel | 0x000E | +| * BatteryReplacementNeeded | 0x000F | +| * BatteryReplaceability | 0x0010 | +| * BatteryPresent | 0x0011 | +| * ActiveBatteryFaults | 0x0012 | +| * BatteryReplacementDescription | 0x0013 | +| * BatteryCommonDesignation | 0x0014 | +| * BatteryANSIDesignation | 0x0015 | +| * BatteryIECDesignation | 0x0016 | +| * BatteryApprovedChemistry | 0x0017 | +| * BatteryCapacity | 0x0018 | +| * BatteryQuantity | 0x0019 | +| * BatteryChargeState | 0x001A | +| * BatteryTimeToFullCharge | 0x001B | +| * BatteryFunctionalWhileCharging | 0x001C | +| * BatteryChargingCurrent | 0x001D | +| * ActiveBatteryChargeFaults | 0x001E | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::OnOff::Commands::OnWithTimedOff::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster GeneralCommissioning | 0x0030 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ArmFailSafe | 0x00 | +| * SetRegulatoryConfig | 0x02 | +| * CommissioningComplete | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Breadcrumb | 0x0000 | +| * BasicCommissioningInfo | 0x0001 | +| * RegulatoryConfig | 0x0002 | +| * LocationCapability | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command Toggle + * Command ArmFailSafe */ -class OnOffToggle : public ClusterCommand +class GeneralCommissioningArmFailSafe : public ClusterCommand { public: - OnOffToggle(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("toggle", credsIssuerConfig) + GeneralCommissioningArmFailSafe(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("arm-fail-safe", credsIssuerConfig) { + AddArgument("ExpiryLengthSeconds", 0, UINT16_MAX, &mRequest.expiryLengthSeconds); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("TimeoutMs", 0, UINT32_MAX, &mRequest.timeoutMs); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000006, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000030, 0x00000000, mRequest); } private: - chip::app::Clusters::OnOff::Commands::Toggle::Type mRequest; + chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafe::Type mRequest; }; -class WriteOnOffOnTime : public WriteAttribute +/* + * Command SetRegulatoryConfig + */ +class GeneralCommissioningSetRegulatoryConfig : public ClusterCommand { public: - WriteOnOffOnTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OnTime", credsIssuerConfig) + GeneralCommissioningSetRegulatoryConfig(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-regulatory-config", credsIssuerConfig) { - AddArgument("attr-name", "on-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("Location", 0, UINT8_MAX, &mRequest.location); + AddArgument("CountryCode", &mRequest.countryCode); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("TimeoutMs", 0, UINT32_MAX, &mRequest.timeoutMs); + ClusterCommand::AddArguments(); } - ~WriteOnOffOnTime() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000006, 0x00004001, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000030, 0x00000002, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfig::Type mRequest; }; -class WriteOnOffOffWaitTime : public WriteAttribute +/* + * Command CommissioningComplete + */ +class GeneralCommissioningCommissioningComplete : public ClusterCommand { public: - WriteOnOffOffWaitTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OffWaitTime", credsIssuerConfig) + GeneralCommissioningCommissioningComplete(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("commissioning-complete", credsIssuerConfig) { - AddArgument("attr-name", "off-wait-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteOnOffOffWaitTime() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000006, 0x00004002, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000030, 0x00000004, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::GeneralCommissioning::Commands::CommissioningComplete::Type mRequest; }; -class WriteOnOffStartUpOnOff : public WriteAttribute +class WriteGeneralCommissioningBreadcrumb : public WriteAttribute { public: - WriteOnOffStartUpOnOff(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("StartUpOnOff", credsIssuerConfig) + WriteGeneralCommissioningBreadcrumb(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("Breadcrumb", credsIssuerConfig) { - AddArgument("attr-name", "start-up-on-off"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "breadcrumb"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteOnOffStartUpOnOff() {} + ~WriteGeneralCommissioningBreadcrumb() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000006, 0x00004003, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000030, 0x00000000, mValue); } private: - uint8_t mValue; + uint64_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster OnOffSwitchConfiguration | 0x0007 | +| Cluster NetworkCommissioning | 0x0031 | |------------------------------------------------------------------------------| | Commands: | | +| * ScanNetworks | 0x00 | +| * AddOrUpdateWiFiNetwork | 0x02 | +| * AddOrUpdateThreadNetwork | 0x03 | +| * RemoveNetwork | 0x04 | +| * ConnectNetwork | 0x06 | +| * ReorderNetwork | 0x08 | |------------------------------------------------------------------------------| | Attributes: | | -| * SwitchType | 0x0000 | -| * SwitchActions | 0x0010 | +| * MaxNetworks | 0x0000 | +| * Networks | 0x0001 | +| * ScanMaxTimeSeconds | 0x0002 | +| * ConnectMaxTimeSeconds | 0x0003 | +| * InterfaceEnabled | 0x0004 | +| * LastNetworkingStatus | 0x0005 | +| * LastNetworkID | 0x0006 | +| * LastConnectErrorValue | 0x0007 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ -class WriteOnOffSwitchConfigurationSwitchActions : public WriteAttribute +/* + * Command ScanNetworks + */ +class NetworkCommissioningScanNetworks : public ClusterCommand { public: - WriteOnOffSwitchConfigurationSwitchActions(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("SwitchActions", credsIssuerConfig) + NetworkCommissioningScanNetworks(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("scan-networks", credsIssuerConfig) { - AddArgument("attr-name", "switch-actions"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("Ssid", &mRequest.ssid); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + ClusterCommand::AddArguments(); } - ~WriteOnOffSwitchConfigurationSwitchActions() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000007, 0x00000010, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000000, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworks::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster OperationalCredentials | 0x003E | -|------------------------------------------------------------------------------| -| Commands: | | -| * AddNOC | 0x06 | -| * AddTrustedRootCertificate | 0x0B | -| * AttestationRequest | 0x00 | -| * CSRRequest | 0x04 | -| * CertificateChainRequest | 0x02 | -| * RemoveFabric | 0x0A | -| * RemoveTrustedRootCertificate | 0x0C | -| * UpdateFabricLabel | 0x09 | -| * UpdateNOC | 0x07 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * NOCs | 0x0000 | -| * FabricsList | 0x0001 | -| * SupportedFabrics | 0x0002 | -| * CommissionedFabrics | 0x0003 | -| * TrustedRootCertificates | 0x0004 | -| * CurrentFabricIndex | 0x0005 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command AddNOC + * Command AddOrUpdateWiFiNetwork */ -class OperationalCredentialsAddNOC : public ClusterCommand +class NetworkCommissioningAddOrUpdateWiFiNetwork : public ClusterCommand { public: - OperationalCredentialsAddNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-noc", credsIssuerConfig) + NetworkCommissioningAddOrUpdateWiFiNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-or-update-wi-fi-network", credsIssuerConfig) { - AddArgument("NOCValue", &mRequest.NOCValue); - AddArgument("ICACValue", &mRequest.ICACValue); - AddArgument("IPKValue", &mRequest.IPKValue); - AddArgument("CaseAdminNode", 0, UINT64_MAX, &mRequest.caseAdminNode); - AddArgument("AdminVendorId", 0, UINT16_MAX, &mRequest.adminVendorId); + AddArgument("Ssid", &mRequest.ssid); + AddArgument("Credentials", &mRequest.credentials); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000002, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::AddNOC::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateWiFiNetwork::Type mRequest; }; /* - * Command AddTrustedRootCertificate + * Command AddOrUpdateThreadNetwork */ -class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand +class NetworkCommissioningAddOrUpdateThreadNetwork : public ClusterCommand { public: - OperationalCredentialsAddTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-trusted-root-certificate", credsIssuerConfig) + NetworkCommissioningAddOrUpdateThreadNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-or-update-thread-network", credsIssuerConfig) { - AddArgument("RootCertificate", &mRequest.rootCertificate); + AddArgument("OperationalDataset", &mRequest.operationalDataset); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x0000000B, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000003, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateThreadNetwork::Type mRequest; }; /* - * Command AttestationRequest + * Command RemoveNetwork */ -class OperationalCredentialsAttestationRequest : public ClusterCommand +class NetworkCommissioningRemoveNetwork : public ClusterCommand { public: - OperationalCredentialsAttestationRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("attestation-request", credsIssuerConfig) + NetworkCommissioningRemoveNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("remove-network", credsIssuerConfig) { - AddArgument("AttestationNonce", &mRequest.attestationNonce); + AddArgument("NetworkID", &mRequest.networkID); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000004, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::AttestationRequest::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::RemoveNetwork::Type mRequest; }; /* - * Command CSRRequest + * Command ConnectNetwork */ -class OperationalCredentialsCSRRequest : public ClusterCommand +class NetworkCommissioningConnectNetwork : public ClusterCommand { public: - OperationalCredentialsCSRRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("csrrequest", credsIssuerConfig) + NetworkCommissioningConnectNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("connect-network", credsIssuerConfig) { - AddArgument("CSRNonce", &mRequest.CSRNonce); + AddArgument("NetworkID", &mRequest.networkID); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000006, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::CSRRequest::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetwork::Type mRequest; }; /* - * Command CertificateChainRequest + * Command ReorderNetwork */ -class OperationalCredentialsCertificateChainRequest : public ClusterCommand +class NetworkCommissioningReorderNetwork : public ClusterCommand { public: - OperationalCredentialsCertificateChainRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("certificate-chain-request", credsIssuerConfig) + NetworkCommissioningReorderNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reorder-network", credsIssuerConfig) { - AddArgument("CertificateType", 0, UINT8_MAX, &mRequest.certificateType); + AddArgument("NetworkID", &mRequest.networkID); + AddArgument("NetworkIndex", 0, UINT8_MAX, &mRequest.networkIndex); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000031, 0x00000008, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::CertificateChainRequest::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::ReorderNetwork::Type mRequest; }; -/* - * Command RemoveFabric - */ -class OperationalCredentialsRemoveFabric : public ClusterCommand +class WriteNetworkCommissioningInterfaceEnabled : public WriteAttribute { public: - OperationalCredentialsRemoveFabric(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("remove-fabric", credsIssuerConfig) - { - AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + WriteNetworkCommissioningInterfaceEnabled(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("InterfaceEnabled", credsIssuerConfig) { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x0000000A, mRequest); + AddArgument("attr-name", "interface-enabled"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); } -private: - chip::app::Clusters::OperationalCredentials::Commands::RemoveFabric::Type mRequest; -}; - -/* - * Command RemoveTrustedRootCertificate - */ -class OperationalCredentialsRemoveTrustedRootCertificate : public ClusterCommand -{ -public: - OperationalCredentialsRemoveTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("remove-trusted-root-certificate", credsIssuerConfig) - { - AddArgument("TrustedRootIdentifier", &mRequest.trustedRootIdentifier); - ClusterCommand::AddArguments(); - } + ~WriteNetworkCommissioningInterfaceEnabled() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000C) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x0000000C, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000031, 0x00000004, mValue); } private: - chip::app::Clusters::OperationalCredentials::Commands::RemoveTrustedRootCertificate::Type mRequest; + bool mValue; }; -/* - * Command UpdateFabricLabel - */ -class OperationalCredentialsUpdateFabricLabel : public ClusterCommand -{ -public: - OperationalCredentialsUpdateFabricLabel(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("update-fabric-label", credsIssuerConfig) - { - AddArgument("Label", &mRequest.label); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000009, mRequest); - } - -private: - chip::app::Clusters::OperationalCredentials::Commands::UpdateFabricLabel::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster DiagnosticLogs | 0x0032 | +|------------------------------------------------------------------------------| +| Commands: | | +| * RetrieveLogsRequest | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command UpdateNOC + * Command RetrieveLogsRequest */ -class OperationalCredentialsUpdateNOC : public ClusterCommand +class DiagnosticLogsRetrieveLogsRequest : public ClusterCommand { public: - OperationalCredentialsUpdateNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("update-noc", credsIssuerConfig) + DiagnosticLogsRetrieveLogsRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("retrieve-logs-request", credsIssuerConfig) { - AddArgument("NOCValue", &mRequest.NOCValue); - AddArgument("ICACValue", &mRequest.ICACValue); + AddArgument("Intent", 0, UINT8_MAX, &mRequest.intent); + AddArgument("RequestedProtocol", 0, UINT8_MAX, &mRequest.requestedProtocol); + AddArgument("TransferFileDesignator", &mRequest.transferFileDesignator); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000032, 0x00000000, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::UpdateNOC::Type mRequest; + chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsRequest::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster PowerSource | 0x002F | +| Cluster GeneralDiagnostics | 0x0033 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Status | 0x0000 | -| * Order | 0x0001 | -| * Description | 0x0002 | -| * BatteryVoltage | 0x000B | -| * BatteryPercentRemaining | 0x000C | -| * BatteryTimeRemaining | 0x000D | -| * BatteryChargeLevel | 0x000E | -| * ActiveBatteryFaults | 0x0012 | -| * BatteryChargeState | 0x001A | +| * NetworkInterfaces | 0x0000 | +| * RebootCount | 0x0001 | +| * UpTime | 0x0002 | +| * TotalOperationalHours | 0x0003 | +| * BootReasons | 0x0004 | +| * ActiveHardwareFaults | 0x0005 | +| * ActiveRadioFaults | 0x0006 | +| * ActiveNetworkFaults | 0x0007 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -5536,2918 +5023,3224 @@ class OperationalCredentialsUpdateNOC : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * HardwareFaultChange | 0x0000 | +| * RadioFaultChange | 0x0001 | +| * NetworkFaultChange | 0x0002 | +| * BootReason | 0x0003 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster PowerSourceConfiguration | 0x002E | +| Cluster SoftwareDiagnostics | 0x0034 | |------------------------------------------------------------------------------| | Commands: | | +| * ResetWatermarks | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * Sources | 0x0000 | +| * ThreadMetrics | 0x0000 | +| * CurrentHeapFree | 0x0001 | +| * CurrentHeapUsed | 0x0002 | +| * CurrentHeapHighWatermark | 0x0003 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * SoftwareFault | 0x0000 | \*----------------------------------------------------------------------------*/ -/*----------------------------------------------------------------------------*\ -| Cluster PressureMeasurement | 0x0403 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command ResetWatermarks + */ +class SoftwareDiagnosticsResetWatermarks : public ClusterCommand +{ +public: + SoftwareDiagnosticsResetWatermarks(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-watermarks", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000034, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::SoftwareDiagnostics::Commands::ResetWatermarks::Type mRequest; +}; /*----------------------------------------------------------------------------*\ -| Cluster PumpConfigurationAndControl | 0x0200 | +| Cluster ThreadNetworkDiagnostics | 0x0035 | |------------------------------------------------------------------------------| | Commands: | | +| * ResetCounts | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * MaxPressure | 0x0000 | -| * MaxSpeed | 0x0001 | -| * MaxFlow | 0x0002 | -| * MinConstPressure | 0x0003 | -| * MaxConstPressure | 0x0004 | -| * MinCompPressure | 0x0005 | -| * MaxCompPressure | 0x0006 | -| * MinConstSpeed | 0x0007 | -| * MaxConstSpeed | 0x0008 | -| * MinConstFlow | 0x0009 | -| * MaxConstFlow | 0x000A | -| * MinConstTemp | 0x000B | -| * MaxConstTemp | 0x000C | -| * PumpStatus | 0x0010 | -| * EffectiveOperationMode | 0x0011 | -| * EffectiveControlMode | 0x0012 | -| * Capacity | 0x0013 | -| * Speed | 0x0014 | -| * LifetimeRunningHours | 0x0015 | -| * Power | 0x0016 | -| * LifetimeEnergyConsumed | 0x0017 | -| * OperationMode | 0x0020 | -| * ControlMode | 0x0021 | -| * AlarmMask | 0x0022 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * SupplyVoltageLow | 0x0000 | -| * SupplyVoltageHigh | 0x0001 | -| * PowerMissingPhase | 0x0002 | -| * SystemPressureLow | 0x0003 | -| * SystemPressureHigh | 0x0004 | -| * DryRunning | 0x0005 | -| * MotorTemperatureHigh | 0x0006 | -| * PumpMotorFatalFailure | 0x0007 | -| * ElectronicTemperatureHigh | 0x0008 | -| * PumpBlocked | 0x0009 | -| * SensorFailure | 0x000A | -| * ElectronicNonFatalFailure | 0x000B | -| * ElectronicFatalFailure | 0x000C | -| * GeneralFault | 0x000D | -| * Leakage | 0x000E | -| * AirDetection | 0x000F | -| * TurbineOperation | 0x0010 | +| * Channel | 0x0000 | +| * RoutingRole | 0x0001 | +| * NetworkName | 0x0002 | +| * PanId | 0x0003 | +| * ExtendedPanId | 0x0004 | +| * MeshLocalPrefix | 0x0005 | +| * OverrunCount | 0x0006 | +| * NeighborTableList | 0x0007 | +| * RouteTableList | 0x0008 | +| * PartitionId | 0x0009 | +| * Weighting | 0x000A | +| * DataVersion | 0x000B | +| * StableDataVersion | 0x000C | +| * LeaderRouterId | 0x000D | +| * DetachedRoleCount | 0x000E | +| * ChildRoleCount | 0x000F | +| * RouterRoleCount | 0x0010 | +| * LeaderRoleCount | 0x0011 | +| * AttachAttemptCount | 0x0012 | +| * PartitionIdChangeCount | 0x0013 | +| * BetterPartitionAttachAttemptCount | 0x0014 | +| * ParentChangeCount | 0x0015 | +| * TxTotalCount | 0x0016 | +| * TxUnicastCount | 0x0017 | +| * TxBroadcastCount | 0x0018 | +| * TxAckRequestedCount | 0x0019 | +| * TxAckedCount | 0x001A | +| * TxNoAckRequestedCount | 0x001B | +| * TxDataCount | 0x001C | +| * TxDataPollCount | 0x001D | +| * TxBeaconCount | 0x001E | +| * TxBeaconRequestCount | 0x001F | +| * TxOtherCount | 0x0020 | +| * TxRetryCount | 0x0021 | +| * TxDirectMaxRetryExpiryCount | 0x0022 | +| * TxIndirectMaxRetryExpiryCount | 0x0023 | +| * TxErrCcaCount | 0x0024 | +| * TxErrAbortCount | 0x0025 | +| * TxErrBusyChannelCount | 0x0026 | +| * RxTotalCount | 0x0027 | +| * RxUnicastCount | 0x0028 | +| * RxBroadcastCount | 0x0029 | +| * RxDataCount | 0x002A | +| * RxDataPollCount | 0x002B | +| * RxBeaconCount | 0x002C | +| * RxBeaconRequestCount | 0x002D | +| * RxOtherCount | 0x002E | +| * RxAddressFilteredCount | 0x002F | +| * RxDestAddrFilteredCount | 0x0030 | +| * RxDuplicatedCount | 0x0031 | +| * RxErrNoFrameCount | 0x0032 | +| * RxErrUnknownNeighborCount | 0x0033 | +| * RxErrInvalidSrcAddrCount | 0x0034 | +| * RxErrSecCount | 0x0035 | +| * RxErrFcsCount | 0x0036 | +| * RxErrOtherCount | 0x0037 | +| * ActiveTimestamp | 0x0038 | +| * PendingTimestamp | 0x0039 | +| * Delay | 0x003A | +| * SecurityPolicy | 0x003B | +| * ChannelMask | 0x003C | +| * OperationalDatasetComponents | 0x003D | +| * ActiveNetworkFaultsList | 0x003E | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * ConnectionStatus | 0x0000 | \*----------------------------------------------------------------------------*/ -class WritePumpConfigurationAndControlLifetimeRunningHours : public WriteAttribute +/* + * Command ResetCounts + */ +class ThreadNetworkDiagnosticsResetCounts : public ClusterCommand { public: - WritePumpConfigurationAndControlLifetimeRunningHours(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("LifetimeRunningHours", credsIssuerConfig) + ThreadNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-counts", credsIssuerConfig) { - AddArgument("attr-name", "lifetime-running-hours"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WritePumpConfigurationAndControlLifetimeRunningHours() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000015, mValue); - } - -private: - chip::app::DataModel::Nullable mValue; -}; - -class WritePumpConfigurationAndControlLifetimeEnergyConsumed : public WriteAttribute -{ -public: - WritePumpConfigurationAndControlLifetimeEnergyConsumed(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("LifetimeEnergyConsumed", credsIssuerConfig) - { - AddArgument("attr-name", "lifetime-energy-consumed"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); - } - - ~WritePumpConfigurationAndControlLifetimeEnergyConsumed() {} + ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on endpoint %" PRIu16, endpointId); - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000017, mValue); + return ClusterCommand::SendCommand(device, endpointId, 0x00000035, 0x00000000, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type mRequest; }; -class WritePumpConfigurationAndControlOperationMode : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster WiFiNetworkDiagnostics | 0x0036 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ResetCounts | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Bssid | 0x0000 | +| * SecurityType | 0x0001 | +| * WiFiVersion | 0x0002 | +| * ChannelNumber | 0x0003 | +| * Rssi | 0x0004 | +| * BeaconLostCount | 0x0005 | +| * BeaconRxCount | 0x0006 | +| * PacketMulticastRxCount | 0x0007 | +| * PacketMulticastTxCount | 0x0008 | +| * PacketUnicastRxCount | 0x0009 | +| * PacketUnicastTxCount | 0x000A | +| * CurrentMaxRate | 0x000B | +| * OverrunCount | 0x000C | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * Disconnection | 0x0000 | +| * AssociationFailure | 0x0001 | +| * ConnectionStatus | 0x0002 | +\*----------------------------------------------------------------------------*/ + +/* + * Command ResetCounts + */ +class WiFiNetworkDiagnosticsResetCounts : public ClusterCommand { public: - WritePumpConfigurationAndControlOperationMode(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OperationMode", credsIssuerConfig) + WiFiNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-counts", credsIssuerConfig) { - AddArgument("attr-name", "operation-mode"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WritePumpConfigurationAndControlOperationMode() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000020, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000036, 0x00000000, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::WiFiNetworkDiagnostics::Commands::ResetCounts::Type mRequest; }; -class WritePumpConfigurationAndControlControlMode : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster EthernetNetworkDiagnostics | 0x0037 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ResetCounts | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * PHYRate | 0x0000 | +| * FullDuplex | 0x0001 | +| * PacketRxCount | 0x0002 | +| * PacketTxCount | 0x0003 | +| * TxErrCount | 0x0004 | +| * CollisionCount | 0x0005 | +| * OverrunCount | 0x0006 | +| * CarrierDetect | 0x0007 | +| * TimeSinceReset | 0x0008 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command ResetCounts + */ +class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand { public: - WritePumpConfigurationAndControlControlMode(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ControlMode", credsIssuerConfig) + EthernetNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-counts", credsIssuerConfig) { - AddArgument("attr-name", "control-mode"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WritePumpConfigurationAndControlControlMode() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000021, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000037, 0x00000000, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::EthernetNetworkDiagnostics::Commands::ResetCounts::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster RelativeHumidityMeasurement | 0x0405 | +| Cluster TimeSynchronization | 0x0038 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster Scenes | 0x0005 | +| Cluster BridgedDeviceBasic | 0x0039 | |------------------------------------------------------------------------------| | Commands: | | -| * AddScene | 0x00 | -| * GetSceneMembership | 0x06 | -| * RecallScene | 0x05 | -| * RemoveAllScenes | 0x03 | -| * RemoveScene | 0x02 | -| * StoreScene | 0x04 | -| * ViewScene | 0x01 | |------------------------------------------------------------------------------| | Attributes: | | -| * SceneCount | 0x0000 | -| * CurrentScene | 0x0001 | -| * CurrentGroup | 0x0002 | -| * SceneValid | 0x0003 | -| * NameSupport | 0x0004 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command AddScene - */ -class ScenesAddScene : public ClusterCommand -{ +| * VendorName | 0x0001 | +| * VendorID | 0x0002 | +| * ProductName | 0x0003 | +| * NodeLabel | 0x0005 | +| * HardwareVersion | 0x0007 | +| * HardwareVersionString | 0x0008 | +| * SoftwareVersion | 0x0009 | +| * SoftwareVersionString | 0x000A | +| * ManufacturingDate | 0x000B | +| * PartNumber | 0x000C | +| * ProductURL | 0x000D | +| * ProductLabel | 0x000E | +| * SerialNumber | 0x000F | +| * Reachable | 0x0011 | +| * UniqueID | 0x0012 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * StartUp | 0x0000 | +| * ShutDown | 0x0001 | +| * Leave | 0x0002 | +| * ReachableChanged | 0x0003 | +\*----------------------------------------------------------------------------*/ + +class WriteBridgedDeviceBasicNodeLabel : public WriteAttribute +{ public: - ScenesAddScene(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-scene", credsIssuerConfig), mComplex_ExtensionFieldSets(&mRequest.extensionFieldSets) + WriteBridgedDeviceBasicNodeLabel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NodeLabel", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("SceneName", &mRequest.sceneName); - AddArgument("ExtensionFieldSets", &mComplex_ExtensionFieldSets); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "node-label"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); } + ~WriteBridgedDeviceBasicNodeLabel() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000039, 0x00000005, mValue); } private: - chip::app::Clusters::Scenes::Commands::AddScene::Type mRequest; - TypedComplexArgument> - mComplex_ExtensionFieldSets; + chip::CharSpan mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster Switch | 0x003B | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * NumberOfPositions | 0x0000 | +| * CurrentPosition | 0x0001 | +| * MultiPressMax | 0x0002 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * SwitchLatched | 0x0000 | +| * InitialPress | 0x0001 | +| * LongPress | 0x0002 | +| * ShortRelease | 0x0003 | +| * LongRelease | 0x0004 | +| * MultiPressOngoing | 0x0005 | +| * MultiPressComplete | 0x0006 | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster AdministratorCommissioning | 0x003C | +|------------------------------------------------------------------------------| +| Commands: | | +| * OpenCommissioningWindow | 0x00 | +| * OpenBasicCommissioningWindow | 0x01 | +| * RevokeCommissioning | 0x02 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * WindowStatus | 0x0000 | +| * AdminFabricIndex | 0x0001 | +| * AdminVendorId | 0x0002 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command GetSceneMembership + * Command OpenCommissioningWindow */ -class ScenesGetSceneMembership : public ClusterCommand +class AdministratorCommissioningOpenCommissioningWindow : public ClusterCommand { public: - ScenesGetSceneMembership(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-scene-membership", credsIssuerConfig) + AdministratorCommissioningOpenCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("open-commissioning-window", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); + AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout); + AddArgument("PAKEVerifier", &mRequest.PAKEVerifier); + AddArgument("Discriminator", 0, UINT16_MAX, &mRequest.discriminator); + AddArgument("Iterations", 0, UINT32_MAX, &mRequest.iterations); + AddArgument("Salt", &mRequest.salt); + AddArgument("PasscodeID", 0, UINT16_MAX, &mRequest.passcodeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000006) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003C, 0x00000000, mRequest); } private: - chip::app::Clusters::Scenes::Commands::GetSceneMembership::Type mRequest; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type mRequest; }; /* - * Command RecallScene + * Command OpenBasicCommissioningWindow */ -class ScenesRecallScene : public ClusterCommand +class AdministratorCommissioningOpenBasicCommissioningWindow : public ClusterCommand { public: - ScenesRecallScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("recall-scene", credsIssuerConfig) + AdministratorCommissioningOpenBasicCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("open-basic-commissioning-window", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000005) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003C, 0x00000001, mRequest); } private: - chip::app::Clusters::Scenes::Commands::RecallScene::Type mRequest; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type mRequest; }; /* - * Command RemoveAllScenes + * Command RevokeCommissioning */ -class ScenesRemoveAllScenes : public ClusterCommand +class AdministratorCommissioningRevokeCommissioning : public ClusterCommand { public: - ScenesRemoveAllScenes(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-all-scenes", credsIssuerConfig) + AdministratorCommissioningRevokeCommissioning(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("revoke-commissioning", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000003) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003C, 0x00000002, mRequest); } private: - chip::app::Clusters::Scenes::Commands::RemoveAllScenes::Type mRequest; + chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster OperationalCredentials | 0x003E | +|------------------------------------------------------------------------------| +| Commands: | | +| * AttestationRequest | 0x00 | +| * CertificateChainRequest | 0x02 | +| * CSRRequest | 0x04 | +| * AddNOC | 0x06 | +| * UpdateNOC | 0x07 | +| * UpdateFabricLabel | 0x09 | +| * RemoveFabric | 0x0A | +| * AddTrustedRootCertificate | 0x0B | +| * RemoveTrustedRootCertificate | 0x0C | +|------------------------------------------------------------------------------| +| Attributes: | | +| * NOCs | 0x0000 | +| * FabricsList | 0x0001 | +| * SupportedFabrics | 0x0002 | +| * CommissionedFabrics | 0x0003 | +| * TrustedRootCertificates | 0x0004 | +| * CurrentFabricIndex | 0x0005 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command RemoveScene + * Command AttestationRequest */ -class ScenesRemoveScene : public ClusterCommand +class OperationalCredentialsAttestationRequest : public ClusterCommand { public: - ScenesRemoveScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-scene", credsIssuerConfig) + OperationalCredentialsAttestationRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("attestation-request", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + AddArgument("AttestationNonce", &mRequest.attestationNonce); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000000, mRequest); } private: - chip::app::Clusters::Scenes::Commands::RemoveScene::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::AttestationRequest::Type mRequest; }; /* - * Command StoreScene + * Command CertificateChainRequest */ -class ScenesStoreScene : public ClusterCommand +class OperationalCredentialsCertificateChainRequest : public ClusterCommand { public: - ScenesStoreScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("store-scene", credsIssuerConfig) + OperationalCredentialsCertificateChainRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("certificate-chain-request", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + AddArgument("CertificateType", 0, UINT8_MAX, &mRequest.certificateType); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000004) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000002, mRequest); } private: - chip::app::Clusters::Scenes::Commands::StoreScene::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::CertificateChainRequest::Type mRequest; }; /* - * Command ViewScene + * Command CSRRequest */ -class ScenesViewScene : public ClusterCommand +class OperationalCredentialsCSRRequest : public ClusterCommand { public: - ScenesViewScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("view-scene", credsIssuerConfig) + OperationalCredentialsCSRRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("csrrequest", credsIssuerConfig) { - AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId); - AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId); + AddArgument("CSRNonce", &mRequest.CSRNonce); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000001) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000005, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000004, mRequest); } private: - chip::app::Clusters::Scenes::Commands::ViewScene::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::CSRRequest::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster SoftwareDiagnostics | 0x0034 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ResetWatermarks | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ThreadMetrics | 0x0000 | -| * CurrentHeapFree | 0x0001 | -| * CurrentHeapUsed | 0x0002 | -| * CurrentHeapHighWatermark | 0x0003 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * SoftwareFault | 0x0000 | -\*----------------------------------------------------------------------------*/ - /* - * Command ResetWatermarks + * Command AddNOC */ -class SoftwareDiagnosticsResetWatermarks : public ClusterCommand +class OperationalCredentialsAddNOC : public ClusterCommand { public: - SoftwareDiagnosticsResetWatermarks(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-watermarks", credsIssuerConfig) + OperationalCredentialsAddNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-noc", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("NOCValue", &mRequest.NOCValue); + AddArgument("ICACValue", &mRequest.ICACValue); + AddArgument("IPKValue", &mRequest.IPKValue); + AddArgument("CaseAdminNode", 0, UINT64_MAX, &mRequest.caseAdminNode); + AddArgument("AdminVendorId", 0, UINT16_MAX, &mRequest.adminVendorId); + ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000034, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000006, mRequest); } private: - chip::app::Clusters::SoftwareDiagnostics::Commands::ResetWatermarks::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::AddNOC::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster Switch | 0x003B | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * NumberOfPositions | 0x0000 | -| * CurrentPosition | 0x0001 | -| * MultiPressMax | 0x0002 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * SwitchLatched | 0x0000 | -| * InitialPress | 0x0001 | -| * LongPress | 0x0002 | -| * ShortRelease | 0x0003 | -| * LongRelease | 0x0004 | -| * MultiPressOngoing | 0x0005 | -| * MultiPressComplete | 0x0006 | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster TargetNavigator | 0x0505 | -|------------------------------------------------------------------------------| -| Commands: | | -| * NavigateTargetRequest | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * TargetNavigatorList | 0x0000 | -| * CurrentNavigatorTarget | 0x0001 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command NavigateTargetRequest + * Command UpdateNOC */ -class TargetNavigatorNavigateTargetRequest : public ClusterCommand +class OperationalCredentialsUpdateNOC : public ClusterCommand { public: - TargetNavigatorNavigateTargetRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("navigate-target-request", credsIssuerConfig) + OperationalCredentialsUpdateNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("update-noc", credsIssuerConfig) { - AddArgument("Target", 0, UINT8_MAX, &mRequest.target); - AddArgument("Data", &mRequest.data); + AddArgument("NOCValue", &mRequest.NOCValue); + AddArgument("ICACValue", &mRequest.ICACValue); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000505, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000007, mRequest); } private: - chip::app::Clusters::TargetNavigator::Commands::NavigateTargetRequest::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::UpdateNOC::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster TemperatureMeasurement | 0x0402 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster TestCluster | 0x050F | -|------------------------------------------------------------------------------| -| Commands: | | -| * SimpleStructEchoRequest | 0x11 | -| * Test | 0x00 | -| * TestAddArguments | 0x04 | -| * TestEmitTestEventRequest | 0x14 | -| * TestEnumsRequest | 0x0E | -| * TestListInt8UArgumentRequest | 0x0A | -| * TestListInt8UReverseRequest | 0x0D | -| * TestListNestedStructListArgumentRequest | 0x0C | -| * TestListStructArgumentRequest | 0x09 | -| * TestNestedStructArgumentRequest | 0x08 | -| * TestNestedStructListArgumentRequest | 0x0B | -| * TestNotHandled | 0x01 | -| * TestNullableOptionalRequest | 0x0F | -| * TestSimpleOptionalArgumentRequest | 0x13 | -| * TestSpecific | 0x02 | -| * TestStructArgumentRequest | 0x07 | -| * TestUnknownCommand | 0x03 | -| * TimedInvokeRequest | 0x12 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * Boolean | 0x0000 | -| * Bitmap8 | 0x0001 | -| * Bitmap16 | 0x0002 | -| * Bitmap32 | 0x0003 | -| * Bitmap64 | 0x0004 | -| * Int8u | 0x0005 | -| * Int16u | 0x0006 | -| * Int24u | 0x0007 | -| * Int32u | 0x0008 | -| * Int40u | 0x0009 | -| * Int48u | 0x000A | -| * Int56u | 0x000B | -| * Int64u | 0x000C | -| * Int8s | 0x000D | -| * Int16s | 0x000E | -| * Int24s | 0x000F | -| * Int32s | 0x0010 | -| * Int40s | 0x0011 | -| * Int48s | 0x0012 | -| * Int56s | 0x0013 | -| * Int64s | 0x0014 | -| * Enum8 | 0x0015 | -| * Enum16 | 0x0016 | -| * FloatSingle | 0x0017 | -| * FloatDouble | 0x0018 | -| * OctetString | 0x0019 | -| * ListInt8u | 0x001A | -| * ListOctetString | 0x001B | -| * ListStructOctetString | 0x001C | -| * LongOctetString | 0x001D | -| * CharString | 0x001E | -| * LongCharString | 0x001F | -| * EpochUs | 0x0020 | -| * EpochS | 0x0021 | -| * VendorId | 0x0022 | -| * ListNullablesAndOptionalsStruct | 0x0023 | -| * EnumAttr | 0x0024 | -| * StructAttr | 0x0025 | -| * RangeRestrictedInt8u | 0x0026 | -| * RangeRestrictedInt8s | 0x0027 | -| * RangeRestrictedInt16u | 0x0028 | -| * RangeRestrictedInt16s | 0x0029 | -| * ListLongOctetString | 0x002A | -| * TimedWriteBoolean | 0x0030 | -| * GeneralErrorBoolean | 0x0031 | -| * ClusterErrorBoolean | 0x0032 | -| * Unsupported | 0x00FF | -| * NullableBoolean | 0x8000 | -| * NullableBitmap8 | 0x8001 | -| * NullableBitmap16 | 0x8002 | -| * NullableBitmap32 | 0x8003 | -| * NullableBitmap64 | 0x8004 | -| * NullableInt8u | 0x8005 | -| * NullableInt16u | 0x8006 | -| * NullableInt24u | 0x8007 | -| * NullableInt32u | 0x8008 | -| * NullableInt40u | 0x8009 | -| * NullableInt48u | 0x800A | -| * NullableInt56u | 0x800B | -| * NullableInt64u | 0x800C | -| * NullableInt8s | 0x800D | -| * NullableInt16s | 0x800E | -| * NullableInt24s | 0x800F | -| * NullableInt32s | 0x8010 | -| * NullableInt40s | 0x8011 | -| * NullableInt48s | 0x8012 | -| * NullableInt56s | 0x8013 | -| * NullableInt64s | 0x8014 | -| * NullableEnum8 | 0x8015 | -| * NullableEnum16 | 0x8016 | -| * NullableFloatSingle | 0x8017 | -| * NullableFloatDouble | 0x8018 | -| * NullableOctetString | 0x8019 | -| * NullableCharString | 0x801E | -| * NullableEnumAttr | 0x8024 | -| * NullableStruct | 0x8025 | -| * NullableRangeRestrictedInt8u | 0x8026 | -| * NullableRangeRestrictedInt8s | 0x8027 | -| * NullableRangeRestrictedInt16u | 0x8028 | -| * NullableRangeRestrictedInt16s | 0x8029 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * TestEvent | 0x0001 | -| * TestFabricScopedEvent | 0x0002 | -\*----------------------------------------------------------------------------*/ - /* - * Command SimpleStructEchoRequest + * Command UpdateFabricLabel */ -class TestClusterSimpleStructEchoRequest : public ClusterCommand +class OperationalCredentialsUpdateFabricLabel : public ClusterCommand { public: - TestClusterSimpleStructEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("simple-struct-echo-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + OperationalCredentialsUpdateFabricLabel(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("update-fabric-label", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("Label", &mRequest.label); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000011) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000011, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x00000009, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::SimpleStructEchoRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::Clusters::OperationalCredentials::Commands::UpdateFabricLabel::Type mRequest; }; /* - * Command Test + * Command RemoveFabric */ -class TestClusterTest : public ClusterCommand +class OperationalCredentialsRemoveFabric : public ClusterCommand { public: - TestClusterTest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test", credsIssuerConfig) + OperationalCredentialsRemoveFabric(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("remove-fabric", credsIssuerConfig) { + AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x0000000A, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::Test::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::RemoveFabric::Type mRequest; }; /* - * Command TestAddArguments + * Command AddTrustedRootCertificate */ -class TestClusterTestAddArguments : public ClusterCommand +class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand { public: - TestClusterTestAddArguments(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-add-arguments", credsIssuerConfig) + OperationalCredentialsAddTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-trusted-root-certificate", credsIssuerConfig) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + AddArgument("RootCertificate", &mRequest.rootCertificate); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000004) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x0000000B, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TestAddArguments::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::Type mRequest; }; /* - * Command TestEmitTestEventRequest + * Command RemoveTrustedRootCertificate */ -class TestClusterTestEmitTestEventRequest : public ClusterCommand +class OperationalCredentialsRemoveTrustedRootCertificate : public ClusterCommand { public: - TestClusterTestEmitTestEventRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-emit-test-event-request", credsIssuerConfig) - { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); - AddArgument("Arg3", 0, 1, &mRequest.arg3); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000014) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000014, mRequest); - } - -private: - chip::app::Clusters::TestCluster::Commands::TestEmitTestEventRequest::Type mRequest; -}; - -/* - * Command TestEnumsRequest - */ -class TestClusterTestEnumsRequest : public ClusterCommand -{ -public: - TestClusterTestEnumsRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-enums-request", credsIssuerConfig) + OperationalCredentialsRemoveTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("remove-trusted-root-certificate", credsIssuerConfig) { - AddArgument("Arg1", 0, UINT16_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + AddArgument("TrustedRootIdentifier", &mRequest.trustedRootIdentifier); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000E) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000C) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000E, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003E, 0x0000000C, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::RemoveTrustedRootCertificate::Type mRequest; }; -/* - * Command TestListInt8UArgumentRequest - */ -class TestClusterTestListInt8UArgumentRequest : public ClusterCommand -{ -public: - TestClusterTestListInt8UArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-int8uargument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) - { - AddArgument("Arg1", &mComplex_Arg1); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000A) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000A, mRequest); - } - -private: - chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type mRequest; - TypedComplexArgument> mComplex_Arg1; -}; +/*----------------------------------------------------------------------------*\ +| Cluster GroupKeyManagement | 0x003F | +|------------------------------------------------------------------------------| +| Commands: | | +| * KeySetWrite | 0x00 | +| * KeySetRead | 0x01 | +| * KeySetRemove | 0x03 | +| * KeySetReadAllIndices | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * GroupKeyMap | 0x0000 | +| * GroupTable | 0x0001 | +| * MaxGroupsPerFabric | 0x0002 | +| * MaxGroupKeysPerFabric | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command TestListInt8UReverseRequest + * Command KeySetWrite */ -class TestClusterTestListInt8UReverseRequest : public ClusterCommand +class GroupKeyManagementKeySetWrite : public ClusterCommand { public: - TestClusterTestListInt8UReverseRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-int8ureverse-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + GroupKeyManagementKeySetWrite(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("key-set-write", credsIssuerConfig), mComplex_GroupKeySet(&mRequest.groupKeySet) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("GroupKeySet", &mComplex_GroupKeySet); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000D) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000D, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000000, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::Type mRequest; - TypedComplexArgument> mComplex_Arg1; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetWrite::Type mRequest; + TypedComplexArgument mComplex_GroupKeySet; }; /* - * Command TestListNestedStructListArgumentRequest + * Command KeySetRead */ -class TestClusterTestListNestedStructListArgumentRequest : public ClusterCommand +class GroupKeyManagementKeySetRead : public ClusterCommand { public: - TestClusterTestListNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + GroupKeyManagementKeySetRead(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("key-set-read", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000C) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000C, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000001, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TestListNestedStructListArgumentRequest::Type mRequest; - TypedComplexArgument> - mComplex_Arg1; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetRead::Type mRequest; }; /* - * Command TestListStructArgumentRequest + * Command KeySetRemove */ -class TestClusterTestListStructArgumentRequest : public ClusterCommand +class GroupKeyManagementKeySetRemove : public ClusterCommand { public: - TestClusterTestListStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + GroupKeyManagementKeySetRemove(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("key-set-remove", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000009) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000003, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TestListStructArgumentRequest::Type mRequest; - TypedComplexArgument> - mComplex_Arg1; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetRemove::Type mRequest; }; /* - * Command TestNestedStructArgumentRequest + * Command KeySetReadAllIndices */ -class TestClusterTestNestedStructArgumentRequest : public ClusterCommand +class GroupKeyManagementKeySetReadAllIndices : public ClusterCommand { public: - TestClusterTestNestedStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-nested-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + GroupKeyManagementKeySetReadAllIndices(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("key-set-read-all-indices", credsIssuerConfig), mComplex_GroupKeySetIDs(&mRequest.groupKeySetIDs) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("GroupKeySetIDs", &mComplex_GroupKeySetIDs); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000008) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x0000003F, 0x00000004, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TestNestedStructArgumentRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndices::Type mRequest; + TypedComplexArgument> mComplex_GroupKeySetIDs; }; -/* - * Command TestNestedStructListArgumentRequest - */ -class TestClusterTestNestedStructListArgumentRequest : public ClusterCommand +class WriteGroupKeyManagementGroupKeyMap : public WriteAttribute { public: - TestClusterTestNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + WriteGroupKeyManagementGroupKeyMap(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("GroupKeyMap", credsIssuerConfig), mComplex(&mValue) { - AddArgument("Arg1", &mComplex_Arg1); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "group-key-map"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); } + ~WriteGroupKeyManagementGroupKeyMap() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000B) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000B, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x0000003F, 0x00000000, mValue); } private: - chip::app::Clusters::TestCluster::Commands::TestNestedStructListArgumentRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::DataModel::List mValue; + TypedComplexArgument< + chip::app::DataModel::List> + mComplex; }; -/* - * Command TestNotHandled - */ -class TestClusterTestNotHandled : public ClusterCommand -{ -public: - TestClusterTestNotHandled(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-not-handled", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000001, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster FixedLabel | 0x0040 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * LabelList | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::TestCluster::Commands::TestNotHandled::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster UserLabel | 0x0041 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * LabelList | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -/* - * Command TestNullableOptionalRequest - */ -class TestClusterTestNullableOptionalRequest : public ClusterCommand +class WriteUserLabelLabelList : public WriteAttribute { public: - TestClusterTestNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-nullable-optional-request", credsIssuerConfig) + WriteUserLabelLabelList(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LabelList", credsIssuerConfig), mComplex(&mValue) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "label-list"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); } + ~WriteUserLabelLabelList() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000F) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000F, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000041, 0x00000000, mValue); } private: - chip::app::Clusters::TestCluster::Commands::TestNullableOptionalRequest::Type mRequest; + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; }; -/* - * Command TestSimpleOptionalArgumentRequest - */ -class TestClusterTestSimpleOptionalArgumentRequest : public ClusterCommand -{ -public: - TestClusterTestSimpleOptionalArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-simple-optional-argument-request", credsIssuerConfig) - { - AddArgument("Arg1", 0, 1, &mRequest.arg1); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000013) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000013, mRequest); - } - -private: - chip::app::Clusters::TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type mRequest; -}; - -/* - * Command TestSpecific - */ -class TestClusterTestSpecific : public ClusterCommand -{ -public: - TestClusterTestSpecific(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-specific", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000002, mRequest); - } - -private: - chip::app::Clusters::TestCluster::Commands::TestSpecific::Type mRequest; -}; - -/* - * Command TestStructArgumentRequest - */ -class TestClusterTestStructArgumentRequest : public ClusterCommand -{ -public: - TestClusterTestStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) - { - AddArgument("Arg1", &mComplex_Arg1); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000007) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000007, mRequest); - } - -private: - chip::app::Clusters::TestCluster::Commands::TestStructArgumentRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; -}; +/*----------------------------------------------------------------------------*\ +| Cluster ProxyConfiguration | 0x0042 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -/* - * Command TestUnknownCommand - */ -class TestClusterTestUnknownCommand : public ClusterCommand -{ -public: - TestClusterTestUnknownCommand(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-unknown-command", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } +/*----------------------------------------------------------------------------*\ +| Cluster ProxyDiscovery | 0x0043 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000003) on endpoint %" PRIu16, endpointId); +/*----------------------------------------------------------------------------*\ +| Cluster ProxyValid | 0x0044 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000003, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster BooleanState | 0x0045 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * StateValue | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * StateChange | 0x0000 | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::TestCluster::Commands::TestUnknownCommand::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster ModeSelect | 0x0050 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ChangeToMode | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentMode | 0x0000 | +| * SupportedModes | 0x0001 | +| * OnMode | 0x0002 | +| * StartUpMode | 0x0003 | +| * Description | 0x0004 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command TimedInvokeRequest + * Command ChangeToMode */ -class TestClusterTimedInvokeRequest : public ClusterCommand +class ModeSelectChangeToMode : public ClusterCommand { public: - TestClusterTimedInvokeRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("timed-invoke-request", credsIssuerConfig) + ModeSelectChangeToMode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-to-mode", credsIssuerConfig) { + AddArgument("NewMode", 0, UINT8_MAX, &mRequest.newMode); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000012) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000012, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000050, 0x00000000, mRequest); } private: - chip::app::Clusters::TestCluster::Commands::TimedInvokeRequest::Type mRequest; + chip::app::Clusters::ModeSelect::Commands::ChangeToMode::Type mRequest; }; -class WriteTestClusterBoolean : public WriteAttribute +class WriteModeSelectOnMode : public WriteAttribute { public: - WriteTestClusterBoolean(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Boolean", credsIssuerConfig) + WriteModeSelectOnMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OnMode", credsIssuerConfig) { - AddArgument("attr-name", "boolean"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "on-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterBoolean() {} + ~WriteModeSelectOnMode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000050, 0x00000002, mValue); } private: - bool mValue; + uint8_t mValue; }; -class WriteTestClusterBitmap8 : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster ShadeConfiguration | 0x0100 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * PhysicalClosedLimit | 0x0000 | +| * MotorStepSize | 0x0001 | +| * Status | 0x0002 | +| * ClosedLimit | 0x0010 | +| * Mode | 0x0011 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteShadeConfigurationStatus : public WriteAttribute { public: - WriteTestClusterBitmap8(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap8", credsIssuerConfig) + WriteShadeConfigurationStatus(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Status", credsIssuerConfig) { - AddArgument("attr-name", "bitmap8"); + AddArgument("attr-name", "status"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterBitmap8() {} + ~WriteShadeConfigurationStatus() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000001, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000100, 0x00000002, mValue); } private: uint8_t mValue; }; -class WriteTestClusterBitmap16 : public WriteAttribute +class WriteShadeConfigurationClosedLimit : public WriteAttribute { public: - WriteTestClusterBitmap16(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap16", credsIssuerConfig) + WriteShadeConfigurationClosedLimit(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ClosedLimit", credsIssuerConfig) { - AddArgument("attr-name", "bitmap16"); + AddArgument("attr-name", "closed-limit"); AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterBitmap16() {} + ~WriteShadeConfigurationClosedLimit() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000002, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000100, 0x00000010, mValue); } private: uint16_t mValue; }; -class WriteTestClusterBitmap32 : public WriteAttribute -{ -public: - WriteTestClusterBitmap32(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap32", credsIssuerConfig) - { - AddArgument("attr-name", "bitmap32"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); - } - - ~WriteTestClusterBitmap32() {} - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000003, mValue); - } - -private: - uint32_t mValue; -}; - -class WriteTestClusterBitmap64 : public WriteAttribute +class WriteShadeConfigurationMode : public WriteAttribute { public: - WriteTestClusterBitmap64(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap64", credsIssuerConfig) + WriteShadeConfigurationMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Mode", credsIssuerConfig) { - AddArgument("attr-name", "bitmap64"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterBitmap64() {} + ~WriteShadeConfigurationMode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000004, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000100, 0x00000011, mValue); } private: - uint64_t mValue; + uint8_t mValue; }; -class WriteTestClusterInt8u : public WriteAttribute -{ -public: - WriteTestClusterInt8u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int8u", credsIssuerConfig) - { - AddArgument("attr-name", "int8u"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); - } - - ~WriteTestClusterInt8u() {} - - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override - { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000005, mValue); - } - -private: - uint8_t mValue; -}; +/*----------------------------------------------------------------------------*\ +| Cluster DoorLock | 0x0101 | +|------------------------------------------------------------------------------| +| Commands: | | +| * LockDoor | 0x00 | +| * UnlockDoor | 0x01 | +| * UnlockWithTimeout | 0x03 | +| * GetLogRecord | 0x04 | +| * SetPINCode | 0x05 | +| * GetPINCode | 0x06 | +| * ClearPINCode | 0x07 | +| * ClearAllPINCodes | 0x08 | +| * SetUserStatus | 0x09 | +| * GetUserStatus | 0x0A | +| * SetWeekDaySchedule | 0x0B | +| * GetWeekDaySchedule | 0x0C | +| * ClearWeekDaySchedule | 0x0D | +| * SetYearDaySchedule | 0x0E | +| * GetYearDaySchedule | 0x0F | +| * ClearYearDaySchedule | 0x10 | +| * SetHolidaySchedule | 0x11 | +| * GetHolidaySchedule | 0x12 | +| * ClearHolidaySchedule | 0x13 | +| * SetUserType | 0x14 | +| * GetUserType | 0x15 | +| * SetRFIDCode | 0x16 | +| * GetRFIDCode | 0x17 | +| * ClearRFIDCode | 0x18 | +| * ClearAllRFIDCodes | 0x19 | +| * SetUser | 0x1A | +| * GetUser | 0x1B | +| * ClearUser | 0x1D | +| * SetCredential | 0x22 | +| * GetCredentialStatus | 0x24 | +| * ClearCredential | 0x26 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * LockState | 0x0000 | +| * LockType | 0x0001 | +| * ActuatorEnabled | 0x0002 | +| * DoorState | 0x0003 | +| * DoorOpenEvents | 0x0004 | +| * DoorClosedEvents | 0x0005 | +| * OpenPeriod | 0x0006 | +| * NumberOfLogRecordsSupported | 0x0010 | +| * NumberOfTotalUsersSupported | 0x0011 | +| * NumberOfPINUsersSupported | 0x0012 | +| * NumberOfRFIDUsersSupported | 0x0013 | +| * NumberOfWeekDaySchedulesSupportedPerUser | 0x0014 | +| * NumberOfYearDaySchedulesSupportedPerUser | 0x0015 | +| * NumberOfHolidaySchedulesSupported | 0x0016 | +| * MaxPINCodeLength | 0x0017 | +| * MinPINCodeLength | 0x0018 | +| * MaxRFIDCodeLength | 0x0019 | +| * MinRFIDCodeLength | 0x001A | +| * CredentialRulesSupport | 0x001B | +| * EnableLogging | 0x0020 | +| * Language | 0x0021 | +| * LEDSettings | 0x0022 | +| * AutoRelockTime | 0x0023 | +| * SoundVolume | 0x0024 | +| * OperatingMode | 0x0025 | +| * SupportedOperatingModes | 0x0026 | +| * DefaultConfigurationRegister | 0x0027 | +| * EnableLocalProgramming | 0x0028 | +| * EnableOneTouchLocking | 0x0029 | +| * EnableInsideStatusLED | 0x002A | +| * EnablePrivacyModeButton | 0x002B | +| * LocalProgrammingFeatures | 0x002C | +| * WrongCodeEntryLimit | 0x0030 | +| * UserCodeTemporaryDisableTime | 0x0031 | +| * SendPINOverTheAir | 0x0032 | +| * RequirePINforRemoteOperation | 0x0033 | +| * ExpiringUserTimeout | 0x0035 | +| * AlarmMask | 0x0040 | +| * KeypadOperationEventMask | 0x0041 | +| * RemoteOperationEventMask | 0x0042 | +| * ManualOperationEventMask | 0x0043 | +| * RFIDOperationEventMask | 0x0044 | +| * KeypadProgrammingEventMask | 0x0045 | +| * RemoteProgrammingEventMask | 0x0046 | +| * RFIDProgrammingEventMask | 0x0047 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * DoorLockAlarm | 0x0000 | +| * DoorStateChange | 0x0001 | +| * LockOperation | 0x0002 | +| * LockOperationError | 0x0003 | +| * LockUserChange | 0x0004 | +\*----------------------------------------------------------------------------*/ -class WriteTestClusterInt16u : public WriteAttribute +/* + * Command LockDoor + */ +class DoorLockLockDoor : public ClusterCommand { public: - WriteTestClusterInt16u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int16u", credsIssuerConfig) + DoorLockLockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("lock-door", credsIssuerConfig) { - AddArgument("attr-name", "int16u"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("PinCode", &mRequest.pinCode); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt16u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000006, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000000, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::DoorLock::Commands::LockDoor::Type mRequest; }; -class WriteTestClusterInt24u : public WriteAttribute +/* + * Command UnlockDoor + */ +class DoorLockUnlockDoor : public ClusterCommand { public: - WriteTestClusterInt24u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int24u", credsIssuerConfig) + DoorLockUnlockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unlock-door", credsIssuerConfig) { - AddArgument("attr-name", "int24u"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("PinCode", &mRequest.pinCode); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt24u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000007, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000001, mRequest); } private: - uint32_t mValue; + chip::app::Clusters::DoorLock::Commands::UnlockDoor::Type mRequest; }; -class WriteTestClusterInt32u : public WriteAttribute +/* + * Command UnlockWithTimeout + */ +class DoorLockUnlockWithTimeout : public ClusterCommand { public: - WriteTestClusterInt32u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int32u", credsIssuerConfig) + DoorLockUnlockWithTimeout(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("unlock-with-timeout", credsIssuerConfig) { - AddArgument("attr-name", "int32u"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("Timeout", 0, UINT16_MAX, &mRequest.timeout); + AddArgument("PinCode", &mRequest.pinCode); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt32u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000008, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000003, mRequest); } private: - uint32_t mValue; + chip::app::Clusters::DoorLock::Commands::UnlockWithTimeout::Type mRequest; }; -class WriteTestClusterInt40u : public WriteAttribute +/* + * Command GetLogRecord + */ +class DoorLockGetLogRecord : public ClusterCommand { public: - WriteTestClusterInt40u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int40u", credsIssuerConfig) + DoorLockGetLogRecord(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-log-record", credsIssuerConfig) { - AddArgument("attr-name", "int40u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("LogIndex", 0, UINT16_MAX, &mRequest.logIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt40u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000009, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000004, mRequest); } private: - uint64_t mValue; + chip::app::Clusters::DoorLock::Commands::GetLogRecord::Type mRequest; }; -class WriteTestClusterInt48u : public WriteAttribute +/* + * Command SetPINCode + */ +class DoorLockSetPINCode : public ClusterCommand { public: - WriteTestClusterInt48u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int48u", credsIssuerConfig) + DoorLockSetPINCode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-pincode", credsIssuerConfig) { - AddArgument("attr-name", "int48u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); + AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); + AddArgument("Pin", &mRequest.pin); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt48u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000A, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000005, mRequest); } private: - uint64_t mValue; + chip::app::Clusters::DoorLock::Commands::SetPINCode::Type mRequest; }; -class WriteTestClusterInt56u : public WriteAttribute +/* + * Command GetPINCode + */ +class DoorLockGetPINCode : public ClusterCommand { public: - WriteTestClusterInt56u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int56u", credsIssuerConfig) + DoorLockGetPINCode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-pincode", credsIssuerConfig) { - AddArgument("attr-name", "int56u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt56u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000B, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000006) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000006, mRequest); } private: - uint64_t mValue; + chip::app::Clusters::DoorLock::Commands::GetPINCode::Type mRequest; }; -class WriteTestClusterInt64u : public WriteAttribute +/* + * Command ClearPINCode + */ +class DoorLockClearPINCode : public ClusterCommand { public: - WriteTestClusterInt64u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int64u", credsIssuerConfig) + DoorLockClearPINCode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-pincode", credsIssuerConfig) { - AddArgument("attr-name", "int64u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("PinSlotIndex", 0, UINT16_MAX, &mRequest.pinSlotIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt64u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000C, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000007) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000007, mRequest); } private: - uint64_t mValue; + chip::app::Clusters::DoorLock::Commands::ClearPINCode::Type mRequest; }; -class WriteTestClusterInt8s : public WriteAttribute +/* + * Command ClearAllPINCodes + */ +class DoorLockClearAllPINCodes : public ClusterCommand { public: - WriteTestClusterInt8s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int8s", credsIssuerConfig) + DoorLockClearAllPINCodes(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-all-pincodes", credsIssuerConfig) { - AddArgument("attr-name", "int8s"); - AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt8s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000D, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000008) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000008, mRequest); } private: - int8_t mValue; + chip::app::Clusters::DoorLock::Commands::ClearAllPINCodes::Type mRequest; }; -class WriteTestClusterInt16s : public WriteAttribute +/* + * Command SetUserStatus + */ +class DoorLockSetUserStatus : public ClusterCommand { public: - WriteTestClusterInt16s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int16s", credsIssuerConfig) + DoorLockSetUserStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user-status", credsIssuerConfig) { - AddArgument("attr-name", "int16s"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt16s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000E, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000009) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000009, mRequest); } private: - int16_t mValue; + chip::app::Clusters::DoorLock::Commands::SetUserStatus::Type mRequest; }; -class WriteTestClusterInt24s : public WriteAttribute +/* + * Command GetUserStatus + */ +class DoorLockGetUserStatus : public ClusterCommand { public: - WriteTestClusterInt24s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int24s", credsIssuerConfig) + DoorLockGetUserStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user-status", credsIssuerConfig) { - AddArgument("attr-name", "int24s"); - AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt24s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000F, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000A) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000A, mRequest); } private: - int32_t mValue; + chip::app::Clusters::DoorLock::Commands::GetUserStatus::Type mRequest; }; -class WriteTestClusterInt32s : public WriteAttribute +/* + * Command SetWeekDaySchedule + */ +class DoorLockSetWeekDaySchedule : public ClusterCommand { public: - WriteTestClusterInt32s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int32s", credsIssuerConfig) + DoorLockSetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-week-day-schedule", credsIssuerConfig) { - AddArgument("attr-name", "int32s"); - AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("DaysMask", 0, UINT8_MAX, &mRequest.daysMask); + AddArgument("StartHour", 0, UINT8_MAX, &mRequest.startHour); + AddArgument("StartMinute", 0, UINT8_MAX, &mRequest.startMinute); + AddArgument("EndHour", 0, UINT8_MAX, &mRequest.endHour); + AddArgument("EndMinute", 0, UINT8_MAX, &mRequest.endMinute); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt32s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000010, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000B, mRequest); } private: - int32_t mValue; + chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type mRequest; }; -class WriteTestClusterInt40s : public WriteAttribute +/* + * Command GetWeekDaySchedule + */ +class DoorLockGetWeekDaySchedule : public ClusterCommand { public: - WriteTestClusterInt40s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int40s", credsIssuerConfig) + DoorLockGetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-week-day-schedule", credsIssuerConfig) { - AddArgument("attr-name", "int40s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt40s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000011, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000C, mRequest); } private: - int64_t mValue; + chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type mRequest; }; -class WriteTestClusterInt48s : public WriteAttribute +/* + * Command ClearWeekDaySchedule + */ +class DoorLockClearWeekDaySchedule : public ClusterCommand { public: - WriteTestClusterInt48s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int48s", credsIssuerConfig) + DoorLockClearWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-week-day-schedule", credsIssuerConfig) { - AddArgument("attr-name", "int48s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt48s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000012, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000D, mRequest); } private: - int64_t mValue; + chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::Type mRequest; }; -class WriteTestClusterInt56s : public WriteAttribute +/* + * Command SetYearDaySchedule + */ +class DoorLockSetYearDaySchedule : public ClusterCommand { public: - WriteTestClusterInt56s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int56s", credsIssuerConfig) + DoorLockSetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-year-day-schedule", credsIssuerConfig) { - AddArgument("attr-name", "int56s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("LocalStartTime", 0, UINT32_MAX, &mRequest.localStartTime); + AddArgument("LocalEndTime", 0, UINT32_MAX, &mRequest.localEndTime); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt56s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000013, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000E, mRequest); } private: - int64_t mValue; + chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type mRequest; }; -class WriteTestClusterInt64s : public WriteAttribute +/* + * Command GetYearDaySchedule + */ +class DoorLockGetYearDaySchedule : public ClusterCommand { public: - WriteTestClusterInt64s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int64s", credsIssuerConfig) + DoorLockGetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-year-day-schedule", credsIssuerConfig) { - AddArgument("attr-name", "int64s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterInt64s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000014, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000000F, mRequest); } private: - int64_t mValue; + chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type mRequest; }; -class WriteTestClusterEnum8 : public WriteAttribute +/* + * Command ClearYearDaySchedule + */ +class DoorLockClearYearDaySchedule : public ClusterCommand { public: - WriteTestClusterEnum8(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Enum8", credsIssuerConfig) + DoorLockClearYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-year-day-schedule", credsIssuerConfig) { - AddArgument("attr-name", "enum8"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterEnum8() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000015, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000010, mRequest); } private: - uint8_t mValue; + chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::Type mRequest; }; -class WriteTestClusterEnum16 : public WriteAttribute +/* + * Command SetHolidaySchedule + */ +class DoorLockSetHolidaySchedule : public ClusterCommand { public: - WriteTestClusterEnum16(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Enum16", credsIssuerConfig) + DoorLockSetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-holiday-schedule", credsIssuerConfig) { - AddArgument("attr-name", "enum16"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); + AddArgument("LocalStartTime", 0, UINT32_MAX, &mRequest.localStartTime); + AddArgument("LocalEndTime", 0, UINT32_MAX, &mRequest.localEndTime); + AddArgument("OperatingMode", 0, UINT8_MAX, &mRequest.operatingMode); + ClusterCommand::AddArguments(); } - ~WriteTestClusterEnum16() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000016, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000011, mRequest); } private: - uint16_t mValue; + chip::app::Clusters::DoorLock::Commands::SetHolidaySchedule::Type mRequest; }; -class WriteTestClusterFloatSingle : public WriteAttribute +/* + * Command GetHolidaySchedule + */ +class DoorLockGetHolidaySchedule : public ClusterCommand { public: - WriteTestClusterFloatSingle(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("FloatSingle", credsIssuerConfig) + DoorLockGetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-holiday-schedule", credsIssuerConfig) { - AddArgument("attr-name", "float-single"); - AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); - WriteAttribute::AddArguments(); + AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterFloatSingle() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000017, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000012, mRequest); } private: - float mValue; + chip::app::Clusters::DoorLock::Commands::GetHolidaySchedule::Type mRequest; }; -class WriteTestClusterFloatDouble : public WriteAttribute +/* + * Command ClearHolidaySchedule + */ +class DoorLockClearHolidaySchedule : public ClusterCommand { public: - WriteTestClusterFloatDouble(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("FloatDouble", credsIssuerConfig) + DoorLockClearHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-holiday-schedule", credsIssuerConfig) { - AddArgument("attr-name", "float-double"); - AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); - WriteAttribute::AddArguments(); + AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterFloatDouble() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000018, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000013, mRequest); } private: - double mValue; + chip::app::Clusters::DoorLock::Commands::ClearHolidaySchedule::Type mRequest; }; -class WriteTestClusterOctetString : public WriteAttribute +/* + * Command SetUserType + */ +class DoorLockSetUserType : public ClusterCommand { public: - WriteTestClusterOctetString(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OctetString", credsIssuerConfig) + DoorLockSetUserType(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user-type", credsIssuerConfig) { - AddArgument("attr-name", "octet-string"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); + ClusterCommand::AddArguments(); } - ~WriteTestClusterOctetString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000019, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000014) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000014, mRequest); } private: - chip::ByteSpan mValue; + chip::app::Clusters::DoorLock::Commands::SetUserType::Type mRequest; }; -class WriteTestClusterListInt8u : public WriteAttribute +/* + * Command GetUserType + */ +class DoorLockGetUserType : public ClusterCommand { public: - WriteTestClusterListInt8u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ListInt8u", credsIssuerConfig), mComplex(&mValue) + DoorLockGetUserType(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user-type", credsIssuerConfig) { - AddArgument("attr-name", "list-int8u"); - AddArgument("attr-value", &mComplex); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + ClusterCommand::AddArguments(); } - ~WriteTestClusterListInt8u() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001A, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000015) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000015, mRequest); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> mComplex; + chip::app::Clusters::DoorLock::Commands::GetUserType::Type mRequest; }; -class WriteTestClusterListOctetString : public WriteAttribute +/* + * Command SetRFIDCode + */ +class DoorLockSetRFIDCode : public ClusterCommand { public: - WriteTestClusterListOctetString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ListOctetString", credsIssuerConfig), mComplex(&mValue) + DoorLockSetRFIDCode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-rfidcode", credsIssuerConfig) { - AddArgument("attr-name", "list-octet-string"); - AddArgument("attr-value", &mComplex); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); + AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); + AddArgument("RfidCode", &mRequest.rfidCode); + ClusterCommand::AddArguments(); } - ~WriteTestClusterListOctetString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001B, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000016) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000016, mRequest); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> mComplex; + chip::app::Clusters::DoorLock::Commands::SetRFIDCode::Type mRequest; }; -class WriteTestClusterListStructOctetString : public WriteAttribute +/* + * Command GetRFIDCode + */ +class DoorLockGetRFIDCode : public ClusterCommand { public: - WriteTestClusterListStructOctetString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ListStructOctetString", credsIssuerConfig), mComplex(&mValue) + DoorLockGetRFIDCode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-rfidcode", credsIssuerConfig) { - AddArgument("attr-name", "list-struct-octet-string"); - AddArgument("attr-value", &mComplex); - WriteAttribute::AddArguments(); + AddArgument("UserId", 0, UINT16_MAX, &mRequest.userId); + ClusterCommand::AddArguments(); } - ~WriteTestClusterListStructOctetString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001C, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000017) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000017, mRequest); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> - mComplex; + chip::app::Clusters::DoorLock::Commands::GetRFIDCode::Type mRequest; }; -class WriteTestClusterLongOctetString : public WriteAttribute +/* + * Command ClearRFIDCode + */ +class DoorLockClearRFIDCode : public ClusterCommand { public: - WriteTestClusterLongOctetString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("LongOctetString", credsIssuerConfig) + DoorLockClearRFIDCode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-rfidcode", credsIssuerConfig) { - AddArgument("attr-name", "long-octet-string"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + AddArgument("RfidSlotIndex", 0, UINT16_MAX, &mRequest.rfidSlotIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterLongOctetString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001D, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000018) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000018, mRequest); } private: - chip::ByteSpan mValue; + chip::app::Clusters::DoorLock::Commands::ClearRFIDCode::Type mRequest; }; -class WriteTestClusterCharString : public WriteAttribute +/* + * Command ClearAllRFIDCodes + */ +class DoorLockClearAllRFIDCodes : public ClusterCommand { public: - WriteTestClusterCharString(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("CharString", credsIssuerConfig) + DoorLockClearAllRFIDCodes(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-all-rfidcodes", credsIssuerConfig) { - AddArgument("attr-name", "char-string"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteTestClusterCharString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001E, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000019) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000019, mRequest); } private: - chip::CharSpan mValue; + chip::app::Clusters::DoorLock::Commands::ClearAllRFIDCodes::Type mRequest; }; -class WriteTestClusterLongCharString : public WriteAttribute +/* + * Command SetUser + */ +class DoorLockSetUser : public ClusterCommand { public: - WriteTestClusterLongCharString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("LongCharString", credsIssuerConfig) + DoorLockSetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user", credsIssuerConfig) { - AddArgument("attr-name", "long-char-string"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + AddArgument("OperationType", 0, UINT8_MAX, &mRequest.operationType); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("UserName", &mRequest.userName); + AddArgument("UserUniqueId", 0, UINT32_MAX, &mRequest.userUniqueId); + AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); + AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); + AddArgument("CredentialRule", 0, UINT8_MAX, &mRequest.credentialRule); + ClusterCommand::AddArguments(); } - ~WriteTestClusterLongCharString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001F, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000001A, mRequest); } private: - chip::CharSpan mValue; + chip::app::Clusters::DoorLock::Commands::SetUser::Type mRequest; }; -class WriteTestClusterEpochUs : public WriteAttribute +/* + * Command GetUser + */ +class DoorLockGetUser : public ClusterCommand { public: - WriteTestClusterEpochUs(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EpochUs", credsIssuerConfig) + DoorLockGetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user", credsIssuerConfig) { - AddArgument("attr-name", "epoch-us"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterEpochUs() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000020, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000001B, mRequest); } private: - uint64_t mValue; + chip::app::Clusters::DoorLock::Commands::GetUser::Type mRequest; }; -class WriteTestClusterEpochS : public WriteAttribute +/* + * Command ClearUser + */ +class DoorLockClearUser : public ClusterCommand { public: - WriteTestClusterEpochS(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EpochS", credsIssuerConfig) + DoorLockClearUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-user", credsIssuerConfig) { - AddArgument("attr-name", "epoch-s"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + ClusterCommand::AddArguments(); } - ~WriteTestClusterEpochS() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000021, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x0000001D, mRequest); } private: - uint32_t mValue; + chip::app::Clusters::DoorLock::Commands::ClearUser::Type mRequest; }; -class WriteTestClusterVendorId : public WriteAttribute +/* + * Command SetCredential + */ +class DoorLockSetCredential : public ClusterCommand { public: - WriteTestClusterVendorId(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("VendorId", credsIssuerConfig) + DoorLockSetCredential(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) { - AddArgument("attr-name", "vendor-id"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("OperationType", 0, UINT8_MAX, &mRequest.operationType); + AddArgument("Credential", &mComplex_Credential); + AddArgument("CredentialData", &mRequest.credentialData); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus); + AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType); + ClusterCommand::AddArguments(); } - ~WriteTestClusterVendorId() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000022, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000022, mRequest); } private: - chip::VendorId mValue; + chip::app::Clusters::DoorLock::Commands::SetCredential::Type mRequest; + TypedComplexArgument mComplex_Credential; }; -class WriteTestClusterListNullablesAndOptionalsStruct : public WriteAttribute +/* + * Command GetCredentialStatus + */ +class DoorLockGetCredentialStatus : public ClusterCommand { public: - WriteTestClusterListNullablesAndOptionalsStruct(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ListNullablesAndOptionalsStruct", credsIssuerConfig), mComplex(&mValue) + DoorLockGetCredentialStatus(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-credential-status", credsIssuerConfig), mComplex_Credential(&mRequest.credential) { - AddArgument("attr-name", "list-nullables-and-optionals-struct"); - AddArgument("attr-value", &mComplex); - WriteAttribute::AddArguments(); + AddArgument("Credential", &mComplex_Credential); + ClusterCommand::AddArguments(); } - ~WriteTestClusterListNullablesAndOptionalsStruct() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000023, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000024, mRequest); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument< - chip::app::DataModel::List> - mComplex; + chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type mRequest; + TypedComplexArgument mComplex_Credential; }; -class WriteTestClusterEnumAttr : public WriteAttribute +/* + * Command ClearCredential + */ +class DoorLockClearCredential : public ClusterCommand { public: - WriteTestClusterEnumAttr(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EnumAttr", credsIssuerConfig) + DoorLockClearCredential(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) { - AddArgument("attr-name", "enum-attr"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("Credential", &mComplex_Credential); + ClusterCommand::AddArguments(); } - ~WriteTestClusterEnumAttr() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000024, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000101, 0x00000026, mRequest); } private: - chip::app::Clusters::TestCluster::SimpleEnum mValue; + chip::app::Clusters::DoorLock::Commands::ClearCredential::Type mRequest; + TypedComplexArgument> + mComplex_Credential; }; -class WriteTestClusterStructAttr : public WriteAttribute +class WriteDoorLockDoorOpenEvents : public WriteAttribute { public: - WriteTestClusterStructAttr(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("StructAttr", credsIssuerConfig), mComplex(&mValue) + WriteDoorLockDoorOpenEvents(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("DoorOpenEvents", credsIssuerConfig) { - AddArgument("attr-name", "struct-attr"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "door-open-events"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterStructAttr() {} + ~WriteDoorLockDoorOpenEvents() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000025, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000004, mValue); } private: - chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type mValue; - TypedComplexArgument mComplex; + uint32_t mValue; }; -class WriteTestClusterRangeRestrictedInt8u : public WriteAttribute +class WriteDoorLockDoorClosedEvents : public WriteAttribute { public: - WriteTestClusterRangeRestrictedInt8u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("RangeRestrictedInt8u", credsIssuerConfig) + WriteDoorLockDoorClosedEvents(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("DoorClosedEvents", credsIssuerConfig) { - AddArgument("attr-name", "range-restricted-int8u"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "door-closed-events"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterRangeRestrictedInt8u() {} + ~WriteDoorLockDoorClosedEvents() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000026, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000005, mValue); } private: - uint8_t mValue; + uint32_t mValue; }; -class WriteTestClusterRangeRestrictedInt8s : public WriteAttribute +class WriteDoorLockOpenPeriod : public WriteAttribute { public: - WriteTestClusterRangeRestrictedInt8s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("RangeRestrictedInt8s", credsIssuerConfig) + WriteDoorLockOpenPeriod(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OpenPeriod", credsIssuerConfig) { - AddArgument("attr-name", "range-restricted-int8s"); - AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + AddArgument("attr-name", "open-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterRangeRestrictedInt8s() {} + ~WriteDoorLockOpenPeriod() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000027, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000006, mValue); } private: - int8_t mValue; + uint16_t mValue; }; -class WriteTestClusterRangeRestrictedInt16u : public WriteAttribute +class WriteDoorLockEnableLogging : public WriteAttribute { public: - WriteTestClusterRangeRestrictedInt16u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("RangeRestrictedInt16u", credsIssuerConfig) + WriteDoorLockEnableLogging(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EnableLogging", credsIssuerConfig) { - AddArgument("attr-name", "range-restricted-int16u"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); + AddArgument("attr-name", "enable-logging"); + AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterRangeRestrictedInt16u() {} + ~WriteDoorLockEnableLogging() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000028, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000020, mValue); } private: - uint16_t mValue; + bool mValue; }; -class WriteTestClusterRangeRestrictedInt16s : public WriteAttribute +class WriteDoorLockLanguage : public WriteAttribute { public: - WriteTestClusterRangeRestrictedInt16s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("RangeRestrictedInt16s", credsIssuerConfig) + WriteDoorLockLanguage(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Language", credsIssuerConfig) { - AddArgument("attr-name", "range-restricted-int16s"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + AddArgument("attr-name", "language"); + AddArgument("attr-value", &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterRangeRestrictedInt16s() {} + ~WriteDoorLockLanguage() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000029, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000021, mValue); } private: - int16_t mValue; + chip::CharSpan mValue; }; -class WriteTestClusterListLongOctetString : public WriteAttribute +class WriteDoorLockLEDSettings : public WriteAttribute { public: - WriteTestClusterListLongOctetString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ListLongOctetString", credsIssuerConfig), mComplex(&mValue) + WriteDoorLockLEDSettings(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("LEDSettings", credsIssuerConfig) { - AddArgument("attr-name", "list-long-octet-string"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "ledsettings"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterListLongOctetString() {} + ~WriteDoorLockLEDSettings() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000002A, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000022, mValue); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> mComplex; + uint8_t mValue; }; -class WriteTestClusterTimedWriteBoolean : public WriteAttribute +class WriteDoorLockAutoRelockTime : public WriteAttribute { public: - WriteTestClusterTimedWriteBoolean(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("TimedWriteBoolean", credsIssuerConfig) + WriteDoorLockAutoRelockTime(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AutoRelockTime", credsIssuerConfig) { - AddArgument("attr-name", "timed-write-boolean"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "auto-relock-time"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterTimedWriteBoolean() {} + ~WriteDoorLockAutoRelockTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000030, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000023, mValue); } private: - bool mValue; + uint32_t mValue; }; -class WriteTestClusterGeneralErrorBoolean : public WriteAttribute +class WriteDoorLockSoundVolume : public WriteAttribute { public: - WriteTestClusterGeneralErrorBoolean(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("GeneralErrorBoolean", credsIssuerConfig) + WriteDoorLockSoundVolume(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("SoundVolume", credsIssuerConfig) { - AddArgument("attr-name", "general-error-boolean"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "sound-volume"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterGeneralErrorBoolean() {} + ~WriteDoorLockSoundVolume() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000031, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000024, mValue); } private: - bool mValue; + uint8_t mValue; }; -class WriteTestClusterClusterErrorBoolean : public WriteAttribute +class WriteDoorLockOperatingMode : public WriteAttribute { public: - WriteTestClusterClusterErrorBoolean(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ClusterErrorBoolean", credsIssuerConfig) + WriteDoorLockOperatingMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OperatingMode", credsIssuerConfig) { - AddArgument("attr-name", "cluster-error-boolean"); - AddArgument("attr-value", 0, 1, &mValue); + AddArgument("attr-name", "operating-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterClusterErrorBoolean() {} + ~WriteDoorLockOperatingMode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000032, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000025, mValue); } private: - bool mValue; + chip::app::Clusters::DoorLock::DlOperatingMode mValue; }; -class WriteTestClusterUnsupported : public WriteAttribute +class WriteDoorLockEnableLocalProgramming : public WriteAttribute { public: - WriteTestClusterUnsupported(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Unsupported", credsIssuerConfig) + WriteDoorLockEnableLocalProgramming(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("EnableLocalProgramming", credsIssuerConfig) { - AddArgument("attr-name", "unsupported"); + AddArgument("attr-name", "enable-local-programming"); AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterUnsupported() {} + ~WriteDoorLockEnableLocalProgramming() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x000000FF, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000028, mValue); } private: bool mValue; }; -class WriteTestClusterNullableBoolean : public WriteAttribute +class WriteDoorLockEnableOneTouchLocking : public WriteAttribute { public: - WriteTestClusterNullableBoolean(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableBoolean", credsIssuerConfig) + WriteDoorLockEnableOneTouchLocking(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("EnableOneTouchLocking", credsIssuerConfig) { - AddArgument("attr-name", "nullable-boolean"); + AddArgument("attr-name", "enable-one-touch-locking"); AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableBoolean() {} + ~WriteDoorLockEnableOneTouchLocking() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000029, mValue); } private: - chip::app::DataModel::Nullable mValue; + bool mValue; }; -class WriteTestClusterNullableBitmap8 : public WriteAttribute +class WriteDoorLockEnableInsideStatusLED : public WriteAttribute { public: - WriteTestClusterNullableBitmap8(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableBitmap8", credsIssuerConfig) + WriteDoorLockEnableInsideStatusLED(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("EnableInsideStatusLED", credsIssuerConfig) { - AddArgument("attr-name", "nullable-bitmap8"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "enable-inside-status-led"); + AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableBitmap8() {} + ~WriteDoorLockEnableInsideStatusLED() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008001, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x0000002A, mValue); } private: - chip::app::DataModel::Nullable mValue; + bool mValue; }; -class WriteTestClusterNullableBitmap16 : public WriteAttribute +class WriteDoorLockEnablePrivacyModeButton : public WriteAttribute { public: - WriteTestClusterNullableBitmap16(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableBitmap16", credsIssuerConfig) + WriteDoorLockEnablePrivacyModeButton(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("EnablePrivacyModeButton", credsIssuerConfig) { - AddArgument("attr-name", "nullable-bitmap16"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); + AddArgument("attr-name", "enable-privacy-mode-button"); + AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableBitmap16() {} + ~WriteDoorLockEnablePrivacyModeButton() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008002, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x0000002B, mValue); } private: - chip::app::DataModel::Nullable mValue; + bool mValue; }; -class WriteTestClusterNullableBitmap32 : public WriteAttribute +class WriteDoorLockLocalProgrammingFeatures : public WriteAttribute { public: - WriteTestClusterNullableBitmap32(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableBitmap32", credsIssuerConfig) + WriteDoorLockLocalProgrammingFeatures(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LocalProgrammingFeatures", credsIssuerConfig) { - AddArgument("attr-name", "nullable-bitmap32"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); + AddArgument("attr-name", "local-programming-features"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableBitmap32() {} + ~WriteDoorLockLocalProgrammingFeatures() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008003, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x0000002C, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint8_t mValue; }; -class WriteTestClusterNullableBitmap64 : public WriteAttribute +class WriteDoorLockWrongCodeEntryLimit : public WriteAttribute { public: - WriteTestClusterNullableBitmap64(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableBitmap64", credsIssuerConfig) + WriteDoorLockWrongCodeEntryLimit(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("WrongCodeEntryLimit", credsIssuerConfig) { - AddArgument("attr-name", "nullable-bitmap64"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "wrong-code-entry-limit"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableBitmap64() {} + ~WriteDoorLockWrongCodeEntryLimit() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008004, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000030, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint8_t mValue; }; -class WriteTestClusterNullableInt8u : public WriteAttribute +class WriteDoorLockUserCodeTemporaryDisableTime : public WriteAttribute { public: - WriteTestClusterNullableInt8u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NullableInt8u", credsIssuerConfig) + WriteDoorLockUserCodeTemporaryDisableTime(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("UserCodeTemporaryDisableTime", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int8u"); + AddArgument("attr-name", "user-code-temporary-disable-time"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt8u() {} + ~WriteDoorLockUserCodeTemporaryDisableTime() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008005, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000031, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint8_t mValue; }; -class WriteTestClusterNullableInt16u : public WriteAttribute +class WriteDoorLockSendPINOverTheAir : public WriteAttribute { public: - WriteTestClusterNullableInt16u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt16u", credsIssuerConfig) + WriteDoorLockSendPINOverTheAir(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("SendPINOverTheAir", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int16u"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); + AddArgument("attr-name", "send-pinover-the-air"); + AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt16u() {} + ~WriteDoorLockSendPINOverTheAir() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008006, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000032, mValue); } private: - chip::app::DataModel::Nullable mValue; + bool mValue; }; -class WriteTestClusterNullableInt24u : public WriteAttribute +class WriteDoorLockRequirePINforRemoteOperation : public WriteAttribute { public: - WriteTestClusterNullableInt24u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt24u", credsIssuerConfig) + WriteDoorLockRequirePINforRemoteOperation(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RequirePINforRemoteOperation", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int24u"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); + AddArgument("attr-name", "require-pinfor-remote-operation"); + AddArgument("attr-value", 0, 1, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt24u() {} + ~WriteDoorLockRequirePINforRemoteOperation() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008007, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000033, mValue); } private: - chip::app::DataModel::Nullable mValue; + bool mValue; }; -class WriteTestClusterNullableInt32u : public WriteAttribute +class WriteDoorLockExpiringUserTimeout : public WriteAttribute { public: - WriteTestClusterNullableInt32u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt32u", credsIssuerConfig) + WriteDoorLockExpiringUserTimeout(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ExpiringUserTimeout", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int32u"); - AddArgument("attr-value", 0, UINT32_MAX, &mValue); + AddArgument("attr-name", "expiring-user-timeout"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt32u() {} + ~WriteDoorLockExpiringUserTimeout() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008008, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000035, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt40u : public WriteAttribute +class WriteDoorLockAlarmMask : public WriteAttribute { public: - WriteTestClusterNullableInt40u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt40u", credsIssuerConfig) + WriteDoorLockAlarmMask(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AlarmMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int40u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "alarm-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt40u() {} + ~WriteDoorLockAlarmMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008009, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000040, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt48u : public WriteAttribute +class WriteDoorLockKeypadOperationEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt48u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt48u", credsIssuerConfig) + WriteDoorLockKeypadOperationEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("KeypadOperationEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int48u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "keypad-operation-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt48u() {} + ~WriteDoorLockKeypadOperationEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800A, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000041, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt56u : public WriteAttribute +class WriteDoorLockRemoteOperationEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt56u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt56u", credsIssuerConfig) + WriteDoorLockRemoteOperationEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RemoteOperationEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int56u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "remote-operation-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt56u() {} + ~WriteDoorLockRemoteOperationEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800B, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000042, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt64u : public WriteAttribute +class WriteDoorLockManualOperationEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt64u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt64u", credsIssuerConfig) + WriteDoorLockManualOperationEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ManualOperationEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int64u"); - AddArgument("attr-value", 0, UINT64_MAX, &mValue); + AddArgument("attr-name", "manual-operation-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt64u() {} + ~WriteDoorLockManualOperationEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800C, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000043, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt8s : public WriteAttribute +class WriteDoorLockRFIDOperationEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt8s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NullableInt8s", credsIssuerConfig) + WriteDoorLockRFIDOperationEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RFIDOperationEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int8s"); - AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + AddArgument("attr-name", "rfidoperation-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt8s() {} + ~WriteDoorLockRFIDOperationEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800D, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000044, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt16s : public WriteAttribute +class WriteDoorLockKeypadProgrammingEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt16s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt16s", credsIssuerConfig) + WriteDoorLockKeypadProgrammingEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("KeypadProgrammingEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int16s"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + AddArgument("attr-name", "keypad-programming-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt16s() {} + ~WriteDoorLockKeypadProgrammingEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800E, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000045, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt24s : public WriteAttribute +class WriteDoorLockRemoteProgrammingEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt24s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt24s", credsIssuerConfig) + WriteDoorLockRemoteProgrammingEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RemoteProgrammingEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int24s"); - AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + AddArgument("attr-name", "remote-programming-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt24s() {} + ~WriteDoorLockRemoteProgrammingEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800F, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000046, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt32s : public WriteAttribute +class WriteDoorLockRFIDProgrammingEventMask : public WriteAttribute { public: - WriteTestClusterNullableInt32s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt32s", credsIssuerConfig) + WriteDoorLockRFIDProgrammingEventMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RFIDProgrammingEventMask", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int32s"); - AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + AddArgument("attr-name", "rfidprogramming-event-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableInt32s() {} + ~WriteDoorLockRFIDProgrammingEventMask() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008010, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000101, 0x00000047, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableInt40s : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster WindowCovering | 0x0102 | +|------------------------------------------------------------------------------| +| Commands: | | +| * UpOrOpen | 0x00 | +| * DownOrClose | 0x01 | +| * StopMotion | 0x02 | +| * GoToLiftValue | 0x04 | +| * GoToLiftPercentage | 0x05 | +| * GoToTiltValue | 0x07 | +| * GoToTiltPercentage | 0x08 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Type | 0x0000 | +| * PhysicalClosedLimitLift | 0x0001 | +| * PhysicalClosedLimitTilt | 0x0002 | +| * CurrentPositionLift | 0x0003 | +| * CurrentPositionTilt | 0x0004 | +| * NumberOfActuationsLift | 0x0005 | +| * NumberOfActuationsTilt | 0x0006 | +| * ConfigStatus | 0x0007 | +| * CurrentPositionLiftPercentage | 0x0008 | +| * CurrentPositionTiltPercentage | 0x0009 | +| * OperationalStatus | 0x000A | +| * TargetPositionLiftPercent100ths | 0x000B | +| * TargetPositionTiltPercent100ths | 0x000C | +| * EndProductType | 0x000D | +| * CurrentPositionLiftPercent100ths | 0x000E | +| * CurrentPositionTiltPercent100ths | 0x000F | +| * InstalledOpenLimitLift | 0x0010 | +| * InstalledClosedLimitLift | 0x0011 | +| * InstalledOpenLimitTilt | 0x0012 | +| * InstalledClosedLimitTilt | 0x0013 | +| * Mode | 0x0017 | +| * SafetyStatus | 0x001A | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command UpOrOpen + */ +class WindowCoveringUpOrOpen : public ClusterCommand { public: - WriteTestClusterNullableInt40s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt40s", credsIssuerConfig) + WindowCoveringUpOrOpen(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("up-or-open", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int40s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableInt40s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008011, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000000, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::UpOrOpen::Type mRequest; }; -class WriteTestClusterNullableInt48s : public WriteAttribute +/* + * Command DownOrClose + */ +class WindowCoveringDownOrClose : public ClusterCommand { public: - WriteTestClusterNullableInt48s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt48s", credsIssuerConfig) + WindowCoveringDownOrClose(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("down-or-close", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int48s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableInt48s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008012, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000001, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::DownOrClose::Type mRequest; }; -class WriteTestClusterNullableInt56s : public WriteAttribute +/* + * Command StopMotion + */ +class WindowCoveringStopMotion : public ClusterCommand { public: - WriteTestClusterNullableInt56s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt56s", credsIssuerConfig) + WindowCoveringStopMotion(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-motion", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int56s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableInt56s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008013, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000002, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::StopMotion::Type mRequest; }; -class WriteTestClusterNullableInt64s : public WriteAttribute +/* + * Command GoToLiftValue + */ +class WindowCoveringGoToLiftValue : public ClusterCommand { public: - WriteTestClusterNullableInt64s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableInt64s", credsIssuerConfig) + WindowCoveringGoToLiftValue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-lift-value", credsIssuerConfig) { - AddArgument("attr-name", "nullable-int64s"); - AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("LiftValue", 0, UINT16_MAX, &mRequest.liftValue); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableInt64s() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008014, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000004, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::GoToLiftValue::Type mRequest; }; -class WriteTestClusterNullableEnum8 : public WriteAttribute +/* + * Command GoToLiftPercentage + */ +class WindowCoveringGoToLiftPercentage : public ClusterCommand { public: - WriteTestClusterNullableEnum8(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NullableEnum8", credsIssuerConfig) + WindowCoveringGoToLiftPercentage(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-lift-percentage", credsIssuerConfig) { - AddArgument("attr-name", "nullable-enum8"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("LiftPercentageValue", 0, UINT8_MAX, &mRequest.liftPercentageValue); + AddArgument("LiftPercent100thsValue", 0, UINT16_MAX, &mRequest.liftPercent100thsValue); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableEnum8() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008015, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000005, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::GoToLiftPercentage::Type mRequest; }; -class WriteTestClusterNullableEnum16 : public WriteAttribute +/* + * Command GoToTiltValue + */ +class WindowCoveringGoToTiltValue : public ClusterCommand { public: - WriteTestClusterNullableEnum16(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableEnum16", credsIssuerConfig) + WindowCoveringGoToTiltValue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-tilt-value", credsIssuerConfig) { - AddArgument("attr-name", "nullable-enum16"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); - WriteAttribute::AddArguments(); + AddArgument("TiltValue", 0, UINT16_MAX, &mRequest.tiltValue); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableEnum16() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008016, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000007, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::GoToTiltValue::Type mRequest; }; -class WriteTestClusterNullableFloatSingle : public WriteAttribute +/* + * Command GoToTiltPercentage + */ +class WindowCoveringGoToTiltPercentage : public ClusterCommand { public: - WriteTestClusterNullableFloatSingle(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableFloatSingle", credsIssuerConfig) + WindowCoveringGoToTiltPercentage(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-tilt-percentage", credsIssuerConfig) { - AddArgument("attr-name", "nullable-float-single"); - AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); - WriteAttribute::AddArguments(); + AddArgument("TiltPercentageValue", 0, UINT8_MAX, &mRequest.tiltPercentageValue); + AddArgument("TiltPercent100thsValue", 0, UINT16_MAX, &mRequest.tiltPercent100thsValue); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableFloatSingle() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008017, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000008, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::WindowCovering::Commands::GoToTiltPercentage::Type mRequest; }; -class WriteTestClusterNullableFloatDouble : public WriteAttribute +class WriteWindowCoveringMode : public WriteAttribute { public: - WriteTestClusterNullableFloatDouble(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableFloatDouble", credsIssuerConfig) + WriteWindowCoveringMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Mode", credsIssuerConfig) { - AddArgument("attr-name", "nullable-float-double"); - AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); + AddArgument("attr-name", "mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableFloatDouble() {} + ~WriteWindowCoveringMode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008018, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000102, 0x00000017, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint8_t mValue; }; -class WriteTestClusterNullableOctetString : public WriteAttribute +/*----------------------------------------------------------------------------*\ +| Cluster BarrierControl | 0x0103 | +|------------------------------------------------------------------------------| +| Commands: | | +| * BarrierControlGoToPercent | 0x00 | +| * BarrierControlStop | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * BarrierMovingState | 0x0001 | +| * BarrierSafetyStatus | 0x0002 | +| * BarrierCapabilities | 0x0003 | +| * BarrierOpenEvents | 0x0004 | +| * BarrierCloseEvents | 0x0005 | +| * BarrierCommandOpenEvents | 0x0006 | +| * BarrierCommandCloseEvents | 0x0007 | +| * BarrierOpenPeriod | 0x0008 | +| * BarrierClosePeriod | 0x0009 | +| * BarrierPosition | 0x000A | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command BarrierControlGoToPercent + */ +class BarrierControlBarrierControlGoToPercent : public ClusterCommand { public: - WriteTestClusterNullableOctetString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableOctetString", credsIssuerConfig) + BarrierControlBarrierControlGoToPercent(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("barrier-control-go-to-percent", credsIssuerConfig) { - AddArgument("attr-name", "nullable-octet-string"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + AddArgument("PercentOpen", 0, UINT8_MAX, &mRequest.percentOpen); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableOctetString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008019, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000103, 0x00000000, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::BarrierControl::Commands::BarrierControlGoToPercent::Type mRequest; }; -class WriteTestClusterNullableCharString : public WriteAttribute +/* + * Command BarrierControlStop + */ +class BarrierControlBarrierControlStop : public ClusterCommand { public: - WriteTestClusterNullableCharString(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableCharString", credsIssuerConfig) + BarrierControlBarrierControlStop(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("barrier-control-stop", credsIssuerConfig) { - AddArgument("attr-name", "nullable-char-string"); - AddArgument("attr-value", &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteTestClusterNullableCharString() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000801E, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000103, 0x00000001, mRequest); } private: - chip::app::DataModel::Nullable mValue; + chip::app::Clusters::BarrierControl::Commands::BarrierControlStop::Type mRequest; }; -class WriteTestClusterNullableEnumAttr : public WriteAttribute +class WriteBarrierControlBarrierOpenEvents : public WriteAttribute { public: - WriteTestClusterNullableEnumAttr(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableEnumAttr", credsIssuerConfig) + WriteBarrierControlBarrierOpenEvents(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BarrierOpenEvents", credsIssuerConfig) { - AddArgument("attr-name", "nullable-enum-attr"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "barrier-open-events"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableEnumAttr() {} + ~WriteBarrierControlBarrierOpenEvents() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008024, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000103, 0x00000004, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableStruct : public WriteAttribute +class WriteBarrierControlBarrierCloseEvents : public WriteAttribute { public: - WriteTestClusterNullableStruct(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableStruct", credsIssuerConfig), mComplex(&mValue) + WriteBarrierControlBarrierCloseEvents(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BarrierCloseEvents", credsIssuerConfig) { - AddArgument("attr-name", "nullable-struct"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "barrier-close-events"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableStruct() {} + ~WriteBarrierControlBarrierCloseEvents() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008025, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000103, 0x00000005, mValue); } private: - chip::app::DataModel::Nullable mValue; - TypedComplexArgument> mComplex; + uint16_t mValue; }; -class WriteTestClusterNullableRangeRestrictedInt8u : public WriteAttribute +class WriteBarrierControlBarrierCommandOpenEvents : public WriteAttribute { public: - WriteTestClusterNullableRangeRestrictedInt8u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableRangeRestrictedInt8u", credsIssuerConfig) + WriteBarrierControlBarrierCommandOpenEvents(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BarrierCommandOpenEvents", credsIssuerConfig) { - AddArgument("attr-name", "nullable-range-restricted-int8u"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "barrier-command-open-events"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableRangeRestrictedInt8u() {} + ~WriteBarrierControlBarrierCommandOpenEvents() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008026, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000103, 0x00000006, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableRangeRestrictedInt8s : public WriteAttribute +class WriteBarrierControlBarrierCommandCloseEvents : public WriteAttribute { public: - WriteTestClusterNullableRangeRestrictedInt8s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableRangeRestrictedInt8s", credsIssuerConfig) + WriteBarrierControlBarrierCommandCloseEvents(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BarrierCommandCloseEvents", credsIssuerConfig) { - AddArgument("attr-name", "nullable-range-restricted-int8s"); - AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + AddArgument("attr-name", "barrier-command-close-events"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableRangeRestrictedInt8s() {} + ~WriteBarrierControlBarrierCommandCloseEvents() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008027, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000103, 0x00000007, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableRangeRestrictedInt16u : public WriteAttribute +class WriteBarrierControlBarrierOpenPeriod : public WriteAttribute { public: - WriteTestClusterNullableRangeRestrictedInt16u(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableRangeRestrictedInt16u", credsIssuerConfig) + WriteBarrierControlBarrierOpenPeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BarrierOpenPeriod", credsIssuerConfig) { - AddArgument("attr-name", "nullable-range-restricted-int16u"); + AddArgument("attr-name", "barrier-open-period"); AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableRangeRestrictedInt16u() {} + ~WriteBarrierControlBarrierOpenPeriod() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008028, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000103, 0x00000008, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; -class WriteTestClusterNullableRangeRestrictedInt16s : public WriteAttribute +class WriteBarrierControlBarrierClosePeriod : public WriteAttribute { public: - WriteTestClusterNullableRangeRestrictedInt16s(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("NullableRangeRestrictedInt16s", credsIssuerConfig) + WriteBarrierControlBarrierClosePeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BarrierClosePeriod", credsIssuerConfig) { - AddArgument("attr-name", "nullable-range-restricted-int16s"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + AddArgument("attr-name", "barrier-close-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTestClusterNullableRangeRestrictedInt16s() {} + ~WriteBarrierControlBarrierClosePeriod() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008029, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000103, 0x00000009, mValue); } private: - chip::app::DataModel::Nullable mValue; + uint16_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster Thermostat | 0x0201 | +| Cluster PumpConfigurationAndControl | 0x0200 | |------------------------------------------------------------------------------| | Commands: | | -| * ClearWeeklySchedule | 0x03 | -| * GetRelayStatusLog | 0x04 | -| * GetWeeklySchedule | 0x02 | -| * SetWeeklySchedule | 0x01 | -| * SetpointRaiseLower | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * LocalTemperature | 0x0000 | -| * AbsMinHeatSetpointLimit | 0x0003 | -| * AbsMaxHeatSetpointLimit | 0x0004 | -| * AbsMinCoolSetpointLimit | 0x0005 | -| * AbsMaxCoolSetpointLimit | 0x0006 | -| * OccupiedCoolingSetpoint | 0x0011 | -| * OccupiedHeatingSetpoint | 0x0012 | -| * MinHeatSetpointLimit | 0x0015 | -| * MaxHeatSetpointLimit | 0x0016 | -| * MinCoolSetpointLimit | 0x0017 | -| * MaxCoolSetpointLimit | 0x0018 | -| * MinSetpointDeadBand | 0x0019 | -| * ControlSequenceOfOperation | 0x001B | -| * SystemMode | 0x001C | -| * StartOfWeek | 0x0020 | -| * NumberOfWeeklyTransitions | 0x0021 | -| * NumberOfDailyTransitions | 0x0022 | +| * MaxPressure | 0x0000 | +| * MaxSpeed | 0x0001 | +| * MaxFlow | 0x0002 | +| * MinConstPressure | 0x0003 | +| * MaxConstPressure | 0x0004 | +| * MinCompPressure | 0x0005 | +| * MaxCompPressure | 0x0006 | +| * MinConstSpeed | 0x0007 | +| * MaxConstSpeed | 0x0008 | +| * MinConstFlow | 0x0009 | +| * MaxConstFlow | 0x000A | +| * MinConstTemp | 0x000B | +| * MaxConstTemp | 0x000C | +| * PumpStatus | 0x0010 | +| * EffectiveOperationMode | 0x0011 | +| * EffectiveControlMode | 0x0012 | +| * Capacity | 0x0013 | +| * Speed | 0x0014 | +| * LifetimeRunningHours | 0x0015 | +| * Power | 0x0016 | +| * LifetimeEnergyConsumed | 0x0017 | +| * OperationMode | 0x0020 | +| * ControlMode | 0x0021 | +| * AlarmMask | 0x0022 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | | * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * SupplyVoltageLow | 0x0000 | +| * SupplyVoltageHigh | 0x0001 | +| * PowerMissingPhase | 0x0002 | +| * SystemPressureLow | 0x0003 | +| * SystemPressureHigh | 0x0004 | +| * DryRunning | 0x0005 | +| * MotorTemperatureHigh | 0x0006 | +| * PumpMotorFatalFailure | 0x0007 | +| * ElectronicTemperatureHigh | 0x0008 | +| * PumpBlocked | 0x0009 | +| * SensorFailure | 0x000A | +| * ElectronicNonFatalFailure | 0x000B | +| * ElectronicFatalFailure | 0x000C | +| * GeneralFault | 0x000D | +| * Leakage | 0x000E | +| * AirDetection | 0x000F | +| * TurbineOperation | 0x0010 | \*----------------------------------------------------------------------------*/ -/* - * Command ClearWeeklySchedule - */ -class ThermostatClearWeeklySchedule : public ClusterCommand +class WritePumpConfigurationAndControlLifetimeRunningHours : public WriteAttribute { public: - ThermostatClearWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-weekly-schedule", credsIssuerConfig) + WritePumpConfigurationAndControlLifetimeRunningHours(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LifetimeRunningHours", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "lifetime-running-hours"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePumpConfigurationAndControlLifetimeRunningHours() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on endpoint %" PRIu16, endpointId); + return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000015, mValue); + } - return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000003, mRequest); +private: + chip::app::DataModel::Nullable mValue; +}; + +class WritePumpConfigurationAndControlLifetimeEnergyConsumed : public WriteAttribute +{ +public: + WritePumpConfigurationAndControlLifetimeEnergyConsumed(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LifetimeEnergyConsumed", credsIssuerConfig) + { + AddArgument("attr-name", "lifetime-energy-consumed"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WritePumpConfigurationAndControlLifetimeEnergyConsumed() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000017, mValue); } private: - chip::app::Clusters::Thermostat::Commands::ClearWeeklySchedule::Type mRequest; + chip::app::DataModel::Nullable mValue; }; -/* - * Command GetRelayStatusLog - */ -class ThermostatGetRelayStatusLog : public ClusterCommand +class WritePumpConfigurationAndControlOperationMode : public WriteAttribute { public: - ThermostatGetRelayStatusLog(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-relay-status-log", credsIssuerConfig) + WritePumpConfigurationAndControlOperationMode(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OperationMode", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "operation-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WritePumpConfigurationAndControlOperationMode() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000004) on endpoint %" PRIu16, endpointId); + return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000020, mValue); + } - return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000004, mRequest); +private: + uint8_t mValue; +}; + +class WritePumpConfigurationAndControlControlMode : public WriteAttribute +{ +public: + WritePumpConfigurationAndControlControlMode(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ControlMode", credsIssuerConfig) + { + AddArgument("attr-name", "control-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WritePumpConfigurationAndControlControlMode() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000200, 0x00000021, mValue); } private: - chip::app::Clusters::Thermostat::Commands::GetRelayStatusLog::Type mRequest; + uint8_t mValue; }; +/*----------------------------------------------------------------------------*\ +| Cluster Thermostat | 0x0201 | +|------------------------------------------------------------------------------| +| Commands: | | +| * SetpointRaiseLower | 0x00 | +| * SetWeeklySchedule | 0x01 | +| * GetWeeklySchedule | 0x02 | +| * ClearWeeklySchedule | 0x03 | +| * GetRelayStatusLog | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * LocalTemperature | 0x0000 | +| * OutdoorTemperature | 0x0001 | +| * Occupancy | 0x0002 | +| * AbsMinHeatSetpointLimit | 0x0003 | +| * AbsMaxHeatSetpointLimit | 0x0004 | +| * AbsMinCoolSetpointLimit | 0x0005 | +| * AbsMaxCoolSetpointLimit | 0x0006 | +| * PiCoolingDemand | 0x0007 | +| * PiHeatingDemand | 0x0008 | +| * HvacSystemTypeConfiguration | 0x0009 | +| * LocalTemperatureCalibration | 0x0010 | +| * OccupiedCoolingSetpoint | 0x0011 | +| * OccupiedHeatingSetpoint | 0x0012 | +| * UnoccupiedCoolingSetpoint | 0x0013 | +| * UnoccupiedHeatingSetpoint | 0x0014 | +| * MinHeatSetpointLimit | 0x0015 | +| * MaxHeatSetpointLimit | 0x0016 | +| * MinCoolSetpointLimit | 0x0017 | +| * MaxCoolSetpointLimit | 0x0018 | +| * MinSetpointDeadBand | 0x0019 | +| * RemoteSensing | 0x001A | +| * ControlSequenceOfOperation | 0x001B | +| * SystemMode | 0x001C | +| * AlarmMask | 0x001D | +| * ThermostatRunningMode | 0x001E | +| * StartOfWeek | 0x0020 | +| * NumberOfWeeklyTransitions | 0x0021 | +| * NumberOfDailyTransitions | 0x0022 | +| * TemperatureSetpointHold | 0x0023 | +| * TemperatureSetpointHoldDuration | 0x0024 | +| * ThermostatProgrammingOperationMode | 0x0025 | +| * ThermostatRunningState | 0x0029 | +| * SetpointChangeSource | 0x0030 | +| * SetpointChangeAmount | 0x0031 | +| * SetpointChangeSourceTimestamp | 0x0032 | +| * AcType | 0x0040 | +| * AcCapacity | 0x0041 | +| * AcRefrigerantType | 0x0042 | +| * AcCompressor | 0x0043 | +| * AcErrorCode | 0x0044 | +| * AcLouverPosition | 0x0045 | +| * AcCoilTemperature | 0x0046 | +| * AcCapacityFormat | 0x0047 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command GetWeeklySchedule + * Command SetpointRaiseLower */ -class ThermostatGetWeeklySchedule : public ClusterCommand +class ThermostatSetpointRaiseLower : public ClusterCommand { public: - ThermostatGetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-weekly-schedule", credsIssuerConfig) + ThermostatSetpointRaiseLower(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("setpoint-raise-lower", credsIssuerConfig) { - AddArgument("DaysToReturn", 0, UINT8_MAX, &mRequest.daysToReturn); - AddArgument("ModeToReturn", 0, UINT8_MAX, &mRequest.modeToReturn); + AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode); + AddArgument("Amount", INT8_MIN, INT8_MAX, &mRequest.amount); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000000, mRequest); } private: - chip::app::Clusters::Thermostat::Commands::GetWeeklySchedule::Type mRequest; + chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type mRequest; }; /* @@ -8479,104 +8272,238 @@ class ThermostatSetWeeklySchedule : public ClusterCommand }; /* - * Command SetpointRaiseLower + * Command GetWeeklySchedule */ -class ThermostatSetpointRaiseLower : public ClusterCommand +class ThermostatGetWeeklySchedule : public ClusterCommand { public: - ThermostatSetpointRaiseLower(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("setpoint-raise-lower", credsIssuerConfig) + ThermostatGetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-weekly-schedule", credsIssuerConfig) { - AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode); - AddArgument("Amount", INT8_MIN, INT8_MAX, &mRequest.amount); + AddArgument("DaysToReturn", 0, UINT8_MAX, &mRequest.daysToReturn); + AddArgument("ModeToReturn", 0, UINT8_MAX, &mRequest.modeToReturn); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on endpoint %" PRIu16, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on endpoint %" PRIu16, endpointId); - return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000002, mRequest); } private: - chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type mRequest; + chip::app::Clusters::Thermostat::Commands::GetWeeklySchedule::Type mRequest; }; -class WriteThermostatOccupiedCoolingSetpoint : public WriteAttribute +/* + * Command ClearWeeklySchedule + */ +class ThermostatClearWeeklySchedule : public ClusterCommand { public: - WriteThermostatOccupiedCoolingSetpoint(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OccupiedCoolingSetpoint", credsIssuerConfig) + ThermostatClearWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-weekly-schedule", credsIssuerConfig) { - AddArgument("attr-name", "occupied-cooling-setpoint"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteThermostatOccupiedCoolingSetpoint() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000011, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000003, mRequest); } private: - int16_t mValue; + chip::app::Clusters::Thermostat::Commands::ClearWeeklySchedule::Type mRequest; }; -class WriteThermostatOccupiedHeatingSetpoint : public WriteAttribute +/* + * Command GetRelayStatusLog + */ +class ThermostatGetRelayStatusLog : public ClusterCommand { public: - WriteThermostatOccupiedHeatingSetpoint(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("OccupiedHeatingSetpoint", credsIssuerConfig) + ThermostatGetRelayStatusLog(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-relay-status-log", credsIssuerConfig) { - AddArgument("attr-name", "occupied-heating-setpoint"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); - WriteAttribute::AddArguments(); + ClusterCommand::AddArguments(); } - ~WriteThermostatOccupiedHeatingSetpoint() {} - CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000012, mValue); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000201, 0x00000004, mRequest); } private: - int16_t mValue; + chip::app::Clusters::Thermostat::Commands::GetRelayStatusLog::Type mRequest; }; -class WriteThermostatMinHeatSetpointLimit : public WriteAttribute +class WriteThermostatHvacSystemTypeConfiguration : public WriteAttribute { public: - WriteThermostatMinHeatSetpointLimit(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("MinHeatSetpointLimit", credsIssuerConfig) + WriteThermostatHvacSystemTypeConfiguration(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("HvacSystemTypeConfiguration", credsIssuerConfig) { - AddArgument("attr-name", "min-heat-setpoint-limit"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + AddArgument("attr-name", "hvac-system-type-configuration"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteThermostatMinHeatSetpointLimit() {} + ~WriteThermostatHvacSystemTypeConfiguration() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000015, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000009, mValue); } private: - int16_t mValue; + uint8_t mValue; }; -class WriteThermostatMaxHeatSetpointLimit : public WriteAttribute +class WriteThermostatLocalTemperatureCalibration : public WriteAttribute { public: - WriteThermostatMaxHeatSetpointLimit(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("MaxHeatSetpointLimit", credsIssuerConfig) + WriteThermostatLocalTemperatureCalibration(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LocalTemperatureCalibration", credsIssuerConfig) { - AddArgument("attr-name", "max-heat-setpoint-limit"); - AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + AddArgument("attr-name", "local-temperature-calibration"); + AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatLocalTemperatureCalibration() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000010, mValue); + } + +private: + int8_t mValue; +}; + +class WriteThermostatOccupiedCoolingSetpoint : public WriteAttribute +{ +public: + WriteThermostatOccupiedCoolingSetpoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OccupiedCoolingSetpoint", credsIssuerConfig) + { + AddArgument("attr-name", "occupied-cooling-setpoint"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatOccupiedCoolingSetpoint() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000011, mValue); + } + +private: + int16_t mValue; +}; + +class WriteThermostatOccupiedHeatingSetpoint : public WriteAttribute +{ +public: + WriteThermostatOccupiedHeatingSetpoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OccupiedHeatingSetpoint", credsIssuerConfig) + { + AddArgument("attr-name", "occupied-heating-setpoint"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatOccupiedHeatingSetpoint() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000012, mValue); + } + +private: + int16_t mValue; +}; + +class WriteThermostatUnoccupiedCoolingSetpoint : public WriteAttribute +{ +public: + WriteThermostatUnoccupiedCoolingSetpoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("UnoccupiedCoolingSetpoint", credsIssuerConfig) + { + AddArgument("attr-name", "unoccupied-cooling-setpoint"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatUnoccupiedCoolingSetpoint() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000013, mValue); + } + +private: + int16_t mValue; +}; + +class WriteThermostatUnoccupiedHeatingSetpoint : public WriteAttribute +{ +public: + WriteThermostatUnoccupiedHeatingSetpoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("UnoccupiedHeatingSetpoint", credsIssuerConfig) + { + AddArgument("attr-name", "unoccupied-heating-setpoint"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatUnoccupiedHeatingSetpoint() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000014, mValue); + } + +private: + int16_t mValue; +}; + +class WriteThermostatMinHeatSetpointLimit : public WriteAttribute +{ +public: + WriteThermostatMinHeatSetpointLimit(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("MinHeatSetpointLimit", credsIssuerConfig) + { + AddArgument("attr-name", "min-heat-setpoint-limit"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatMinHeatSetpointLimit() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000015, mValue); + } + +private: + int16_t mValue; +}; + +class WriteThermostatMaxHeatSetpointLimit : public WriteAttribute +{ +public: + WriteThermostatMaxHeatSetpointLimit(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("MaxHeatSetpointLimit", credsIssuerConfig) + { + AddArgument("attr-name", "max-heat-setpoint-limit"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); WriteAttribute::AddArguments(); } @@ -8657,6 +8584,27 @@ class WriteThermostatMinSetpointDeadBand : public WriteAttribute int8_t mValue; }; +class WriteThermostatRemoteSensing : public WriteAttribute +{ +public: + WriteThermostatRemoteSensing(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("RemoteSensing", credsIssuerConfig) + { + AddArgument("attr-name", "remote-sensing"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatRemoteSensing() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x0000001A, mValue); + } + +private: + uint8_t mValue; +}; + class WriteThermostatControlSequenceOfOperation : public WriteAttribute { public: @@ -8700,426 +8648,296 @@ class WriteThermostatSystemMode : public WriteAttribute uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster ThermostatUserInterfaceConfiguration | 0x0204 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * TemperatureDisplayMode | 0x0000 | -| * KeypadLockout | 0x0001 | -| * ScheduleProgrammingVisibility | 0x0002 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +class WriteThermostatTemperatureSetpointHold : public WriteAttribute +{ +public: + WriteThermostatTemperatureSetpointHold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("TemperatureSetpointHold", credsIssuerConfig) + { + AddArgument("attr-name", "temperature-setpoint-hold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } -class WriteThermostatUserInterfaceConfigurationTemperatureDisplayMode : public WriteAttribute + ~WriteThermostatTemperatureSetpointHold() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000023, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteThermostatTemperatureSetpointHoldDuration : public WriteAttribute { public: - WriteThermostatUserInterfaceConfigurationTemperatureDisplayMode(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("TemperatureDisplayMode", credsIssuerConfig) + WriteThermostatTemperatureSetpointHoldDuration(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("TemperatureSetpointHoldDuration", credsIssuerConfig) { - AddArgument("attr-name", "temperature-display-mode"); + AddArgument("attr-name", "temperature-setpoint-hold-duration"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatTemperatureSetpointHoldDuration() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000024, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteThermostatThermostatProgrammingOperationMode : public WriteAttribute +{ +public: + WriteThermostatThermostatProgrammingOperationMode(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ThermostatProgrammingOperationMode", credsIssuerConfig) + { + AddArgument("attr-name", "thermostat-programming-operation-mode"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteThermostatUserInterfaceConfigurationTemperatureDisplayMode() {} + ~WriteThermostatThermostatProgrammingOperationMode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000204, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000025, mValue); } private: uint8_t mValue; }; -class WriteThermostatUserInterfaceConfigurationKeypadLockout : public WriteAttribute +class WriteThermostatAcType : public WriteAttribute { public: - WriteThermostatUserInterfaceConfigurationKeypadLockout(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("KeypadLockout", credsIssuerConfig) + WriteThermostatAcType(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AcType", credsIssuerConfig) { - AddArgument("attr-name", "keypad-lockout"); + AddArgument("attr-name", "ac-type"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteThermostatUserInterfaceConfigurationKeypadLockout() {} + ~WriteThermostatAcType() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000204, 0x00000001, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000040, mValue); } private: uint8_t mValue; }; -class WriteThermostatUserInterfaceConfigurationScheduleProgrammingVisibility : public WriteAttribute +class WriteThermostatAcCapacity : public WriteAttribute { public: - WriteThermostatUserInterfaceConfigurationScheduleProgrammingVisibility(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ScheduleProgrammingVisibility", credsIssuerConfig) + WriteThermostatAcCapacity(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AcCapacity", credsIssuerConfig) { - AddArgument("attr-name", "schedule-programming-visibility"); + AddArgument("attr-name", "ac-capacity"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteThermostatAcCapacity() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000041, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteThermostatAcRefrigerantType : public WriteAttribute +{ +public: + WriteThermostatAcRefrigerantType(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("AcRefrigerantType", credsIssuerConfig) + { + AddArgument("attr-name", "ac-refrigerant-type"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteThermostatUserInterfaceConfigurationScheduleProgrammingVisibility() {} + ~WriteThermostatAcRefrigerantType() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000204, 0x00000002, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000042, mValue); } private: uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster ThreadNetworkDiagnostics | 0x0035 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ResetCounts | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * Channel | 0x0000 | -| * RoutingRole | 0x0001 | -| * NetworkName | 0x0002 | -| * PanId | 0x0003 | -| * ExtendedPanId | 0x0004 | -| * MeshLocalPrefix | 0x0005 | -| * OverrunCount | 0x0006 | -| * NeighborTableList | 0x0007 | -| * RouteTableList | 0x0008 | -| * PartitionId | 0x0009 | -| * Weighting | 0x000A | -| * DataVersion | 0x000B | -| * StableDataVersion | 0x000C | -| * LeaderRouterId | 0x000D | -| * DetachedRoleCount | 0x000E | -| * ChildRoleCount | 0x000F | -| * RouterRoleCount | 0x0010 | -| * LeaderRoleCount | 0x0011 | -| * AttachAttemptCount | 0x0012 | -| * PartitionIdChangeCount | 0x0013 | -| * BetterPartitionAttachAttemptCount | 0x0014 | -| * ParentChangeCount | 0x0015 | -| * TxTotalCount | 0x0016 | -| * TxUnicastCount | 0x0017 | -| * TxBroadcastCount | 0x0018 | -| * TxAckRequestedCount | 0x0019 | -| * TxAckedCount | 0x001A | -| * TxNoAckRequestedCount | 0x001B | -| * TxDataCount | 0x001C | -| * TxDataPollCount | 0x001D | -| * TxBeaconCount | 0x001E | -| * TxBeaconRequestCount | 0x001F | -| * TxOtherCount | 0x0020 | -| * TxRetryCount | 0x0021 | -| * TxDirectMaxRetryExpiryCount | 0x0022 | -| * TxIndirectMaxRetryExpiryCount | 0x0023 | -| * TxErrCcaCount | 0x0024 | -| * TxErrAbortCount | 0x0025 | -| * TxErrBusyChannelCount | 0x0026 | -| * RxTotalCount | 0x0027 | -| * RxUnicastCount | 0x0028 | -| * RxBroadcastCount | 0x0029 | -| * RxDataCount | 0x002A | -| * RxDataPollCount | 0x002B | -| * RxBeaconCount | 0x002C | -| * RxBeaconRequestCount | 0x002D | -| * RxOtherCount | 0x002E | -| * RxAddressFilteredCount | 0x002F | -| * RxDestAddrFilteredCount | 0x0030 | -| * RxDuplicatedCount | 0x0031 | -| * RxErrNoFrameCount | 0x0032 | -| * RxErrUnknownNeighborCount | 0x0033 | -| * RxErrInvalidSrcAddrCount | 0x0034 | -| * RxErrSecCount | 0x0035 | -| * RxErrFcsCount | 0x0036 | -| * RxErrOtherCount | 0x0037 | -| * ActiveTimestamp | 0x0038 | -| * PendingTimestamp | 0x0039 | -| * Delay | 0x003A | -| * SecurityPolicy | 0x003B | -| * ChannelMask | 0x003C | -| * OperationalDatasetComponents | 0x003D | -| * ActiveNetworkFaultsList | 0x003E | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * ConnectionStatus | 0x0000 | -\*----------------------------------------------------------------------------*/ - -/* - * Command ResetCounts - */ -class ThreadNetworkDiagnosticsResetCounts : public ClusterCommand +class WriteThermostatAcCompressor : public WriteAttribute { public: - ThreadNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-counts", credsIssuerConfig) + WriteThermostatAcCompressor(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AcCompressor", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "ac-compressor"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteThermostatAcCompressor() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000035, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000043, mValue); } private: - chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type mRequest; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster TimeFormatLocalization | 0x002C | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * HourFormat | 0x0000 | -| * ActiveCalendarType | 0x0001 | -| * SupportedCalendarTypes | 0x0002 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -class WriteTimeFormatLocalizationHourFormat : public WriteAttribute +class WriteThermostatAcErrorCode : public WriteAttribute { public: - WriteTimeFormatLocalizationHourFormat(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("HourFormat", credsIssuerConfig) + WriteThermostatAcErrorCode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("AcErrorCode", credsIssuerConfig) { - AddArgument("attr-name", "hour-format"); - AddArgument("attr-value", 0, UINT8_MAX, &mValue); + AddArgument("attr-name", "ac-error-code"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTimeFormatLocalizationHourFormat() {} + ~WriteThermostatAcErrorCode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000002C, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000044, mValue); } private: - chip::app::Clusters::TimeFormatLocalization::HourFormat mValue; + uint32_t mValue; }; -class WriteTimeFormatLocalizationActiveCalendarType : public WriteAttribute +class WriteThermostatAcLouverPosition : public WriteAttribute { public: - WriteTimeFormatLocalizationActiveCalendarType(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("ActiveCalendarType", credsIssuerConfig) + WriteThermostatAcLouverPosition(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("AcLouverPosition", credsIssuerConfig) { - AddArgument("attr-name", "active-calendar-type"); + AddArgument("attr-name", "ac-louver-position"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteTimeFormatLocalizationActiveCalendarType() {} + ~WriteThermostatAcLouverPosition() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000002C, 0x00000001, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000045, mValue); } private: - chip::app::Clusters::TimeFormatLocalization::CalendarType mValue; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster UnitLocalization | 0x002D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * TemperatureUnit | 0x0000 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -class WriteUnitLocalizationTemperatureUnit : public WriteAttribute +class WriteThermostatAcCapacityFormat : public WriteAttribute { public: - WriteUnitLocalizationTemperatureUnit(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("TemperatureUnit", credsIssuerConfig) + WriteThermostatAcCapacityFormat(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("AcCapacityFormat", credsIssuerConfig) { - AddArgument("attr-name", "temperature-unit"); + AddArgument("attr-name", "ac-capacity-format"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteUnitLocalizationTemperatureUnit() {} + ~WriteThermostatAcCapacityFormat() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x0000002D, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000201, 0x00000047, mValue); } private: - chip::app::Clusters::UnitLocalization::TempUnit mValue; + uint8_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster UserLabel | 0x0041 | +| Cluster FanControl | 0x0202 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * LabelList | 0x0000 | +| * FanMode | 0x0000 | +| * FanModeSequence | 0x0001 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | \*----------------------------------------------------------------------------*/ -class WriteUserLabelLabelList : public WriteAttribute +class WriteFanControlFanMode : public WriteAttribute { public: - WriteUserLabelLabelList(CredentialIssuerCommands * credsIssuerConfig) : - WriteAttribute("LabelList", credsIssuerConfig), mComplex(&mValue) + WriteFanControlFanMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("FanMode", credsIssuerConfig) { - AddArgument("attr-name", "label-list"); - AddArgument("attr-value", &mComplex); + AddArgument("attr-name", "fan-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteUserLabelLabelList() {} + ~WriteFanControlFanMode() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000041, 0x00000000, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000202, 0x00000000, mValue); } private: - chip::app::DataModel::List mValue; - TypedComplexArgument> mComplex; + uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Cluster WakeOnLan | 0x0503 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * WakeOnLanMacAddress | 0x0000 | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster WiFiNetworkDiagnostics | 0x0036 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ResetCounts | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * Bssid | 0x0000 | -| * SecurityType | 0x0001 | -| * WiFiVersion | 0x0002 | -| * ChannelNumber | 0x0003 | -| * Rssi | 0x0004 | -| * BeaconLostCount | 0x0005 | -| * BeaconRxCount | 0x0006 | -| * PacketMulticastRxCount | 0x0007 | -| * PacketMulticastTxCount | 0x0008 | -| * PacketUnicastRxCount | 0x0009 | -| * PacketUnicastTxCount | 0x000A | -| * CurrentMaxRate | 0x000B | -| * OverrunCount | 0x000C | -| * ServerGeneratedCommandList | 0xFFF8 | -| * ClientGeneratedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * Disconnection | 0x0000 | -| * AssociationFailure | 0x0001 | -| * ConnectionStatus | 0x0002 | -\*----------------------------------------------------------------------------*/ - -/* - * Command ResetCounts - */ -class WiFiNetworkDiagnosticsResetCounts : public ClusterCommand +class WriteFanControlFanModeSequence : public WriteAttribute { public: - WiFiNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-counts", credsIssuerConfig) + WriteFanControlFanModeSequence(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("FanModeSequence", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "fan-mode-sequence"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteFanControlFanModeSequence() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000036, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000202, 0x00000001, mValue); } private: - chip::app::Clusters::WiFiNetworkDiagnostics::Commands::ResetCounts::Type mRequest; + uint8_t mValue; }; /*----------------------------------------------------------------------------*\ -| Cluster WindowCovering | 0x0102 | +| Cluster DehumidificationControl | 0x0203 | |------------------------------------------------------------------------------| | Commands: | | -| * DownOrClose | 0x01 | -| * GoToLiftPercentage | 0x05 | -| * GoToLiftValue | 0x04 | -| * GoToTiltPercentage | 0x08 | -| * GoToTiltValue | 0x07 | -| * StopMotion | 0x02 | -| * UpOrOpen | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * Type | 0x0000 | -| * CurrentPositionLift | 0x0003 | -| * CurrentPositionTilt | 0x0004 | -| * ConfigStatus | 0x0007 | -| * CurrentPositionLiftPercentage | 0x0008 | -| * CurrentPositionTiltPercentage | 0x0009 | -| * OperationalStatus | 0x000A | -| * TargetPositionLiftPercent100ths | 0x000B | -| * TargetPositionTiltPercent100ths | 0x000C | -| * EndProductType | 0x000D | -| * CurrentPositionLiftPercent100ths | 0x000E | -| * CurrentPositionTiltPercent100ths | 0x000F | -| * InstalledOpenLimitLift | 0x0010 | -| * InstalledClosedLimitLift | 0x0011 | -| * InstalledOpenLimitTilt | 0x0012 | -| * InstalledClosedLimitTilt | 0x0013 | -| * Mode | 0x0017 | -| * SafetyStatus | 0x001A | +| * RelativeHumidity | 0x0000 | +| * DehumidificationCooling | 0x0001 | +| * RhDehumidificationSetpoint | 0x0010 | +| * RelativeHumidityMode | 0x0011 | +| * DehumidificationLockout | 0x0012 | +| * DehumidificationHysteresis | 0x0013 | +| * DehumidificationMaxCool | 0x0014 | +| * RelativeHumidityDisplay | 0x0015 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -9129,3536 +8947,13612 @@ class WiFiNetworkDiagnosticsResetCounts : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/* - * Command DownOrClose - */ -class WindowCoveringDownOrClose : public ClusterCommand +class WriteDehumidificationControlRhDehumidificationSetpoint : public WriteAttribute { public: - WindowCoveringDownOrClose(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("down-or-close", credsIssuerConfig) + WriteDehumidificationControlRhDehumidificationSetpoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RhDehumidificationSetpoint", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "rh-dehumidification-setpoint"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDehumidificationControlRhDehumidificationSetpoint() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000001, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000203, 0x00000010, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::DownOrClose::Type mRequest; + uint8_t mValue; }; -/* - * Command GoToLiftPercentage - */ -class WindowCoveringGoToLiftPercentage : public ClusterCommand +class WriteDehumidificationControlRelativeHumidityMode : public WriteAttribute { public: - WindowCoveringGoToLiftPercentage(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-lift-percentage", credsIssuerConfig) + WriteDehumidificationControlRelativeHumidityMode(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RelativeHumidityMode", credsIssuerConfig) { - AddArgument("LiftPercentageValue", 0, UINT8_MAX, &mRequest.liftPercentageValue); - AddArgument("LiftPercent100thsValue", 0, UINT16_MAX, &mRequest.liftPercent100thsValue); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "relative-humidity-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDehumidificationControlRelativeHumidityMode() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000005, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000203, 0x00000011, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::GoToLiftPercentage::Type mRequest; + uint8_t mValue; }; -/* - * Command GoToLiftValue - */ -class WindowCoveringGoToLiftValue : public ClusterCommand +class WriteDehumidificationControlDehumidificationLockout : public WriteAttribute { public: - WindowCoveringGoToLiftValue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-lift-value", credsIssuerConfig) + WriteDehumidificationControlDehumidificationLockout(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("DehumidificationLockout", credsIssuerConfig) { - AddArgument("LiftValue", 0, UINT16_MAX, &mRequest.liftValue); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "dehumidification-lockout"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDehumidificationControlDehumidificationLockout() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000004, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000203, 0x00000012, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::GoToLiftValue::Type mRequest; + uint8_t mValue; }; -/* - * Command GoToTiltPercentage - */ -class WindowCoveringGoToTiltPercentage : public ClusterCommand +class WriteDehumidificationControlDehumidificationHysteresis : public WriteAttribute { public: - WindowCoveringGoToTiltPercentage(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-tilt-percentage", credsIssuerConfig) + WriteDehumidificationControlDehumidificationHysteresis(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("DehumidificationHysteresis", credsIssuerConfig) { - AddArgument("TiltPercentageValue", 0, UINT8_MAX, &mRequest.tiltPercentageValue); - AddArgument("TiltPercent100thsValue", 0, UINT16_MAX, &mRequest.tiltPercent100thsValue); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "dehumidification-hysteresis"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDehumidificationControlDehumidificationHysteresis() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000008, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000203, 0x00000013, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::GoToTiltPercentage::Type mRequest; + uint8_t mValue; }; -/* - * Command GoToTiltValue - */ -class WindowCoveringGoToTiltValue : public ClusterCommand +class WriteDehumidificationControlDehumidificationMaxCool : public WriteAttribute { public: - WindowCoveringGoToTiltValue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-tilt-value", credsIssuerConfig) + WriteDehumidificationControlDehumidificationMaxCool(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("DehumidificationMaxCool", credsIssuerConfig) { - AddArgument("TiltValue", 0, UINT16_MAX, &mRequest.tiltValue); - ClusterCommand::AddArguments(); + AddArgument("attr-name", "dehumidification-max-cool"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDehumidificationControlDehumidificationMaxCool() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000007, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000203, 0x00000014, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::GoToTiltValue::Type mRequest; + uint8_t mValue; }; -/* - * Command StopMotion - */ -class WindowCoveringStopMotion : public ClusterCommand +class WriteDehumidificationControlRelativeHumidityDisplay : public WriteAttribute { public: - WindowCoveringStopMotion(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-motion", credsIssuerConfig) + WriteDehumidificationControlRelativeHumidityDisplay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RelativeHumidityDisplay", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "relative-humidity-display"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteDehumidificationControlRelativeHumidityDisplay() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000002, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000203, 0x00000015, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::StopMotion::Type mRequest; + uint8_t mValue; }; -/* - * Command UpOrOpen - */ -class WindowCoveringUpOrOpen : public ClusterCommand +/*----------------------------------------------------------------------------*\ +| Cluster ThermostatUserInterfaceConfiguration | 0x0204 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * TemperatureDisplayMode | 0x0000 | +| * KeypadLockout | 0x0001 | +| * ScheduleProgrammingVisibility | 0x0002 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteThermostatUserInterfaceConfigurationTemperatureDisplayMode : public WriteAttribute { public: - WindowCoveringUpOrOpen(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("up-or-open", credsIssuerConfig) + WriteThermostatUserInterfaceConfigurationTemperatureDisplayMode(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("TemperatureDisplayMode", credsIssuerConfig) { - ClusterCommand::AddArguments(); + AddArgument("attr-name", "temperature-display-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); } + ~WriteThermostatUserInterfaceConfigurationTemperatureDisplayMode() {} + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on endpoint %" PRIu16, endpointId); - - return ClusterCommand::SendCommand(device, endpointId, 0x00000102, 0x00000000, mRequest); + return WriteAttribute::SendCommand(device, endpointId, 0x00000204, 0x00000000, mValue); } private: - chip::app::Clusters::WindowCovering::Commands::UpOrOpen::Type mRequest; + uint8_t mValue; }; -class WriteWindowCoveringMode : public WriteAttribute +class WriteThermostatUserInterfaceConfigurationKeypadLockout : public WriteAttribute { public: - WriteWindowCoveringMode(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Mode", credsIssuerConfig) + WriteThermostatUserInterfaceConfigurationKeypadLockout(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("KeypadLockout", credsIssuerConfig) { - AddArgument("attr-name", "mode"); + AddArgument("attr-name", "keypad-lockout"); AddArgument("attr-value", 0, UINT8_MAX, &mValue); WriteAttribute::AddArguments(); } - ~WriteWindowCoveringMode() {} + ~WriteThermostatUserInterfaceConfigurationKeypadLockout() {} CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override { - return WriteAttribute::SendCommand(device, endpointId, 0x00000102, 0x00000017, mValue); + return WriteAttribute::SendCommand(device, endpointId, 0x00000204, 0x00000001, mValue); } private: uint8_t mValue; }; -/*----------------------------------------------------------------------------*\ -| Register all Clusters commands | -\*----------------------------------------------------------------------------*/ -void registerClusterAccessControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +class WriteThermostatUserInterfaceConfigurationScheduleProgrammingVisibility : public WriteAttribute { - using namespace chip::app::Clusters::AccessControl; +public: + WriteThermostatUserInterfaceConfigurationScheduleProgrammingVisibility(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ScheduleProgrammingVisibility", credsIssuerConfig) + { + AddArgument("attr-name", "schedule-programming-visibility"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "AccessControl"; + ~WriteThermostatUserInterfaceConfigurationScheduleProgrammingVisibility() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // - make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // - make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "access-control-entry-changed", Events::AccessControlEntryChanged::Id, credsIssuerConfig), // - make_unique(Id, "access-control-extension-changed", Events::AccessControlExtensionChanged::Id, - credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "access-control-entry-changed", Events::AccessControlEntryChanged::Id, - credsIssuerConfig), // - make_unique(Id, "access-control-extension-changed", Events::AccessControlExtensionChanged::Id, - credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000204, 0x00000002, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterAccountLogin(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::AccountLogin; +private: + uint8_t mValue; +}; - const char * clusterName = "AccountLogin"; +/*----------------------------------------------------------------------------*\ +| Cluster ColorControl | 0x0300 | +|------------------------------------------------------------------------------| +| Commands: | | +| * MoveToHue | 0x00 | +| * MoveHue | 0x01 | +| * StepHue | 0x02 | +| * MoveToSaturation | 0x03 | +| * MoveSaturation | 0x04 | +| * StepSaturation | 0x05 | +| * MoveToHueAndSaturation | 0x06 | +| * MoveToColor | 0x07 | +| * MoveColor | 0x08 | +| * StepColor | 0x09 | +| * MoveToColorTemperature | 0x0A | +| * EnhancedMoveToHue | 0x40 | +| * EnhancedMoveHue | 0x41 | +| * EnhancedStepHue | 0x42 | +| * EnhancedMoveToHueAndSaturation | 0x43 | +| * ColorLoopSet | 0x44 | +| * StopMoveStep | 0x47 | +| * MoveColorTemperature | 0x4B | +| * StepColorTemperature | 0x4C | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentHue | 0x0000 | +| * CurrentSaturation | 0x0001 | +| * RemainingTime | 0x0002 | +| * CurrentX | 0x0003 | +| * CurrentY | 0x0004 | +| * DriftCompensation | 0x0005 | +| * CompensationText | 0x0006 | +| * ColorTemperature | 0x0007 | +| * ColorMode | 0x0008 | +| * ColorControlOptions | 0x000F | +| * NumberOfPrimaries | 0x0010 | +| * Primary1X | 0x0011 | +| * Primary1Y | 0x0012 | +| * Primary1Intensity | 0x0013 | +| * Primary2X | 0x0015 | +| * Primary2Y | 0x0016 | +| * Primary2Intensity | 0x0017 | +| * Primary3X | 0x0019 | +| * Primary3Y | 0x001A | +| * Primary3Intensity | 0x001B | +| * Primary4X | 0x0020 | +| * Primary4Y | 0x0021 | +| * Primary4Intensity | 0x0022 | +| * Primary5X | 0x0024 | +| * Primary5Y | 0x0025 | +| * Primary5Intensity | 0x0026 | +| * Primary6X | 0x0028 | +| * Primary6Y | 0x0029 | +| * Primary6Intensity | 0x002A | +| * WhitePointX | 0x0030 | +| * WhitePointY | 0x0031 | +| * ColorPointRX | 0x0032 | +| * ColorPointRY | 0x0033 | +| * ColorPointRIntensity | 0x0034 | +| * ColorPointGX | 0x0036 | +| * ColorPointGY | 0x0037 | +| * ColorPointGIntensity | 0x0038 | +| * ColorPointBX | 0x003A | +| * ColorPointBY | 0x003B | +| * ColorPointBIntensity | 0x003C | +| * EnhancedCurrentHue | 0x4000 | +| * EnhancedColorMode | 0x4001 | +| * ColorLoopActive | 0x4002 | +| * ColorLoopDirection | 0x4003 | +| * ColorLoopTime | 0x4004 | +| * ColorLoopStartEnhancedHue | 0x4005 | +| * ColorLoopStoredEnhancedHue | 0x4006 | +| * ColorCapabilities | 0x400A | +| * ColorTempPhysicalMin | 0x400B | +| * ColorTempPhysicalMax | 0x400C | +| * CoupleColorTempToLevelMinMireds | 0x400D | +| * StartUpColorTemperatureMireds | 0x4010 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; - - commands.Register(clusterName, clusterCommands); -} -void registerClusterAdministratorCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +/* + * Command MoveToHue + */ +class ColorControlMoveToHue : public ClusterCommand { - using namespace chip::app::Clusters::AdministratorCommissioning; +public: + ColorControlMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-hue", credsIssuerConfig) + { + AddArgument("Hue", 0, UINT8_MAX, &mRequest.hue); + AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "AdministratorCommissioning"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "window-status", Attributes::WindowStatus::Id, credsIssuerConfig), // - make_unique(Id, "admin-fabric-index", Attributes::AdminFabricIndex::Id, credsIssuerConfig), // - make_unique(Id, "admin-vendor-id", Attributes::AdminVendorId::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "window-status", Attributes::WindowStatus::Id, credsIssuerConfig), // - make_unique(Id, "admin-fabric-index", Attributes::AdminFabricIndex::Id, credsIssuerConfig), // - make_unique(Id, "admin-vendor-id", Attributes::AdminVendorId::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000000, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterApplicationBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveToHue::Type mRequest; +}; + +/* + * Command MoveHue + */ +class ColorControlMoveHue : public ClusterCommand { - using namespace chip::app::Clusters::ApplicationBasic; +public: + ColorControlMoveHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-hue", credsIssuerConfig) + { + AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); + AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "ApplicationBasic"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // - make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // - make_unique(Id, "product-id", Attributes::ProductId::Id, credsIssuerConfig), // - make_unique(Id, "application-app", Attributes::ApplicationApp::Id, credsIssuerConfig), // - make_unique(Id, "application-status", Attributes::ApplicationStatus::Id, credsIssuerConfig), // - make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // - make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // - make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // - make_unique(Id, "product-id", Attributes::ProductId::Id, credsIssuerConfig), // - make_unique(Id, "application-app", Attributes::ApplicationApp::Id, credsIssuerConfig), // - make_unique(Id, "application-status", Attributes::ApplicationStatus::Id, credsIssuerConfig), // - make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // - make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000001, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveHue::Type mRequest; +}; + +/* + * Command StepHue + */ +class ColorControlStepHue : public ClusterCommand { - using namespace chip::app::Clusters::ApplicationLauncher; +public: + ColorControlStepHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-hue", credsIssuerConfig) + { + AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); + AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); + AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "ApplicationLauncher"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "application-launcher-list", Attributes::ApplicationLauncherList::Id, credsIssuerConfig), // - make_unique(Id, "application-launcher-app", Attributes::ApplicationLauncherApp::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "application-launcher-list", Attributes::ApplicationLauncherList::Id, - credsIssuerConfig), // - make_unique(Id, "application-launcher-app", Attributes::ApplicationLauncherApp::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000002, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::StepHue::Type mRequest; +}; + +/* + * Command MoveToSaturation + */ +class ColorControlMoveToSaturation : public ClusterCommand { - using namespace chip::app::Clusters::AudioOutput; +public: + ColorControlMoveToSaturation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-saturation", credsIssuerConfig) + { + AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "AudioOutput"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "audio-output-list", Attributes::AudioOutputList::Id, credsIssuerConfig), // - make_unique(Id, "current-audio-output", Attributes::CurrentAudioOutput::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "audio-output-list", Attributes::AudioOutputList::Id, credsIssuerConfig), // - make_unique(Id, "current-audio-output", Attributes::CurrentAudioOutput::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000003, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBarrierControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type mRequest; +}; + +/* + * Command MoveSaturation + */ +class ColorControlMoveSaturation : public ClusterCommand { - using namespace chip::app::Clusters::BarrierControl; +public: + ColorControlMoveSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-saturation", credsIssuerConfig) + { + AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); + AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "BarrierControl"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "barrier-moving-state", Attributes::BarrierMovingState::Id, credsIssuerConfig), // - make_unique(Id, "barrier-safety-status", Attributes::BarrierSafetyStatus::Id, credsIssuerConfig), // - make_unique(Id, "barrier-capabilities", Attributes::BarrierCapabilities::Id, credsIssuerConfig), // - make_unique(Id, "barrier-position", Attributes::BarrierPosition::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "barrier-moving-state", Attributes::BarrierMovingState::Id, credsIssuerConfig), // - make_unique(Id, "barrier-safety-status", Attributes::BarrierSafetyStatus::Id, credsIssuerConfig), // - make_unique(Id, "barrier-capabilities", Attributes::BarrierCapabilities::Id, credsIssuerConfig), // - make_unique(Id, "barrier-position", Attributes::BarrierPosition::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000004, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveSaturation::Type mRequest; +}; + +/* + * Command StepSaturation + */ +class ColorControlStepSaturation : public ClusterCommand { - using namespace chip::app::Clusters::Basic; +public: + ColorControlStepSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-saturation", credsIssuerConfig) + { + AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); + AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); + AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "Basic"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "data-model-revision", Attributes::DataModelRevision::Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // - make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // - make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // - make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // - make_unique(Id, "location", Attributes::Location::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // - make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // - make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // - make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // - make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // - make_unique(Id, "local-config-disabled", Attributes::LocalConfigDisabled::Id, credsIssuerConfig), // - make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // - make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "data-model-revision", Attributes::DataModelRevision::Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // - make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // - make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // - make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // - make_unique(Id, "location", Attributes::Location::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // - make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // - make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // - make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // - make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // - make_unique(Id, "local-config-disabled", Attributes::LocalConfigDisabled::Id, credsIssuerConfig), // - make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // - make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // - make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // - make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // - make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // - make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // - make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // - make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000005, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBinaryInputBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::StepSaturation::Type mRequest; +}; + +/* + * Command MoveToHueAndSaturation + */ +class ColorControlMoveToHueAndSaturation : public ClusterCommand { - using namespace chip::app::Clusters::BinaryInputBasic; +public: + ColorControlMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-hue-and-saturation", credsIssuerConfig) + { + AddArgument("Hue", 0, UINT8_MAX, &mRequest.hue); + AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "BinaryInputBasic"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "out-of-service", Attributes::OutOfService::Id, credsIssuerConfig), // - make_unique(Id, "present-value", Attributes::PresentValue::Id, credsIssuerConfig), // - make_unique(Id, "status-flags", Attributes::StatusFlags::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "out-of-service", Attributes::OutOfService::Id, credsIssuerConfig), // - make_unique(Id, "present-value", Attributes::PresentValue::Id, credsIssuerConfig), // - make_unique(Id, "status-flags", Attributes::StatusFlags::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000006, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBinding(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveToHueAndSaturation::Type mRequest; +}; + +/* + * Command MoveToColor + */ +class ColorControlMoveToColor : public ClusterCommand { - using namespace chip::app::Clusters::Binding; +public: + ColorControlMoveToColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-color", credsIssuerConfig) + { + AddArgument("ColorX", 0, UINT16_MAX, &mRequest.colorX); + AddArgument("ColorY", 0, UINT16_MAX, &mRequest.colorY); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "Binding"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000007, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBooleanState(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveToColor::Type mRequest; +}; + +/* + * Command MoveColor + */ +class ColorControlMoveColor : public ClusterCommand { - using namespace chip::app::Clusters::BooleanState; +public: + ColorControlMoveColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-color", credsIssuerConfig) + { + AddArgument("RateX", INT16_MIN, INT16_MAX, &mRequest.rateX); + AddArgument("RateY", INT16_MIN, INT16_MAX, &mRequest.rateY); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "BooleanState"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-value", Attributes::StateValue::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-value", Attributes::StateValue::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-change", Events::StateChange::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-change", Events::StateChange::Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000008, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBridgedActions(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveColor::Type mRequest; +}; + +/* + * Command StepColor + */ +class ColorControlStepColor : public ClusterCommand { - using namespace chip::app::Clusters::BridgedActions; +public: + ColorControlStepColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-color", credsIssuerConfig) + { + AddArgument("StepX", INT16_MIN, INT16_MAX, &mRequest.stepX); + AddArgument("StepY", INT16_MIN, INT16_MAX, &mRequest.stepY); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "BridgedActions"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "action-list", Attributes::ActionList::Id, credsIssuerConfig), // - make_unique(Id, "endpoint-list", Attributes::EndpointList::Id, credsIssuerConfig), // - make_unique(Id, "setup-url", Attributes::SetupUrl::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "action-list", Attributes::ActionList::Id, credsIssuerConfig), // - make_unique(Id, "endpoint-list", Attributes::EndpointList::Id, credsIssuerConfig), // - make_unique(Id, "setup-url", Attributes::SetupUrl::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // - make_unique(Id, "action-failed", Events::ActionFailed::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // - make_unique(Id, "action-failed", Events::ActionFailed::Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000009, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterBridgedDeviceBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::StepColor::Type mRequest; +}; + +/* + * Command MoveToColorTemperature + */ +class ColorControlMoveToColorTemperature : public ClusterCommand { - using namespace chip::app::Clusters::BridgedDeviceBasic; +public: + ColorControlMoveToColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-color-temperature", credsIssuerConfig) + { + AddArgument("ColorTemperature", 0, UINT16_MAX, &mRequest.colorTemperature); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "BridgedDeviceBasic"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // - make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // - make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // - make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // - make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // - make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // - make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // - make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // - make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // - make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // - make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // - make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // - make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // - make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // - make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // - make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // - make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // - make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // - make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // - make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // - make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // - make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // - make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x0000000A, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterChannel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveToColorTemperature::Type mRequest; +}; + +/* + * Command EnhancedMoveToHue + */ +class ColorControlEnhancedMoveToHue : public ClusterCommand { - using namespace chip::app::Clusters::Channel; +public: + ColorControlEnhancedMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-move-to-hue", credsIssuerConfig) + { + AddArgument("EnhancedHue", 0, UINT16_MAX, &mRequest.enhancedHue); + AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "Channel"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // - make_unique(Id, "channel-lineup", Attributes::ChannelLineup::Id, credsIssuerConfig), // - make_unique(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // - make_unique(Id, "channel-lineup", Attributes::ChannelLineup::Id, credsIssuerConfig), // - make_unique(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000040, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterColorControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type mRequest; +}; + +/* + * Command EnhancedMoveHue + */ +class ColorControlEnhancedMoveHue : public ClusterCommand { - using namespace chip::app::Clusters::ColorControl; +public: + ColorControlEnhancedMoveHue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-move-hue", credsIssuerConfig) + { + AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); + AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "ColorControl"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-hue", Attributes::CurrentHue::Id, credsIssuerConfig), // - make_unique(Id, "current-saturation", Attributes::CurrentSaturation::Id, credsIssuerConfig), // - make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // - make_unique(Id, "current-x", Attributes::CurrentX::Id, credsIssuerConfig), // - make_unique(Id, "current-y", Attributes::CurrentY::Id, credsIssuerConfig), // - make_unique(Id, "drift-compensation", Attributes::DriftCompensation::Id, credsIssuerConfig), // - make_unique(Id, "compensation-text", Attributes::CompensationText::Id, credsIssuerConfig), // - make_unique(Id, "color-temperature", Attributes::ColorTemperature::Id, credsIssuerConfig), // - make_unique(Id, "color-mode", Attributes::ColorMode::Id, credsIssuerConfig), // - make_unique(Id, "color-control-options", Attributes::ColorControlOptions::Id, credsIssuerConfig), // - make_unique(Id, "number-of-primaries", Attributes::NumberOfPrimaries::Id, credsIssuerConfig), // - make_unique(Id, "primary1x", Attributes::Primary1X::Id, credsIssuerConfig), // - make_unique(Id, "primary1y", Attributes::Primary1Y::Id, credsIssuerConfig), // - make_unique(Id, "primary1intensity", Attributes::Primary1Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary2x", Attributes::Primary2X::Id, credsIssuerConfig), // - make_unique(Id, "primary2y", Attributes::Primary2Y::Id, credsIssuerConfig), // - make_unique(Id, "primary2intensity", Attributes::Primary2Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary3x", Attributes::Primary3X::Id, credsIssuerConfig), // - make_unique(Id, "primary3y", Attributes::Primary3Y::Id, credsIssuerConfig), // - make_unique(Id, "primary3intensity", Attributes::Primary3Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary4x", Attributes::Primary4X::Id, credsIssuerConfig), // - make_unique(Id, "primary4y", Attributes::Primary4Y::Id, credsIssuerConfig), // - make_unique(Id, "primary4intensity", Attributes::Primary4Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary5x", Attributes::Primary5X::Id, credsIssuerConfig), // - make_unique(Id, "primary5y", Attributes::Primary5Y::Id, credsIssuerConfig), // - make_unique(Id, "primary5intensity", Attributes::Primary5Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary6x", Attributes::Primary6X::Id, credsIssuerConfig), // - make_unique(Id, "primary6y", Attributes::Primary6Y::Id, credsIssuerConfig), // - make_unique(Id, "primary6intensity", Attributes::Primary6Intensity::Id, credsIssuerConfig), // - make_unique(Id, "white-point-x", Attributes::WhitePointX::Id, credsIssuerConfig), // - make_unique(Id, "white-point-y", Attributes::WhitePointY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-rx", Attributes::ColorPointRX::Id, credsIssuerConfig), // - make_unique(Id, "color-point-ry", Attributes::ColorPointRY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-rintensity", Attributes::ColorPointRIntensity::Id, credsIssuerConfig), // - make_unique(Id, "color-point-gx", Attributes::ColorPointGX::Id, credsIssuerConfig), // - make_unique(Id, "color-point-gy", Attributes::ColorPointGY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-gintensity", Attributes::ColorPointGIntensity::Id, credsIssuerConfig), // - make_unique(Id, "color-point-bx", Attributes::ColorPointBX::Id, credsIssuerConfig), // - make_unique(Id, "color-point-by", Attributes::ColorPointBY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-bintensity", Attributes::ColorPointBIntensity::Id, credsIssuerConfig), // - make_unique(Id, "enhanced-current-hue", Attributes::EnhancedCurrentHue::Id, credsIssuerConfig), // - make_unique(Id, "enhanced-color-mode", Attributes::EnhancedColorMode::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-active", Attributes::ColorLoopActive::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-direction", Attributes::ColorLoopDirection::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-time", Attributes::ColorLoopTime::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-start-enhanced-hue", Attributes::ColorLoopStartEnhancedHue::Id, - credsIssuerConfig), // - make_unique(Id, "color-loop-stored-enhanced-hue", Attributes::ColorLoopStoredEnhancedHue::Id, - credsIssuerConfig), // - make_unique(Id, "color-capabilities", Attributes::ColorCapabilities::Id, credsIssuerConfig), // - make_unique(Id, "color-temp-physical-min", Attributes::ColorTempPhysicalMin::Id, credsIssuerConfig), // - make_unique(Id, "color-temp-physical-max", Attributes::ColorTempPhysicalMax::Id, credsIssuerConfig), // - make_unique(Id, "couple-color-temp-to-level-min-mireds", Attributes::CoupleColorTempToLevelMinMireds::Id, - credsIssuerConfig), // - make_unique(Id, "start-up-color-temperature-mireds", Attributes::StartUpColorTemperatureMireds::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-hue", Attributes::CurrentHue::Id, credsIssuerConfig), // - make_unique(Id, "current-saturation", Attributes::CurrentSaturation::Id, credsIssuerConfig), // - make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // - make_unique(Id, "current-x", Attributes::CurrentX::Id, credsIssuerConfig), // - make_unique(Id, "current-y", Attributes::CurrentY::Id, credsIssuerConfig), // - make_unique(Id, "drift-compensation", Attributes::DriftCompensation::Id, credsIssuerConfig), // - make_unique(Id, "compensation-text", Attributes::CompensationText::Id, credsIssuerConfig), // - make_unique(Id, "color-temperature", Attributes::ColorTemperature::Id, credsIssuerConfig), // - make_unique(Id, "color-mode", Attributes::ColorMode::Id, credsIssuerConfig), // - make_unique(Id, "color-control-options", Attributes::ColorControlOptions::Id, credsIssuerConfig), // - make_unique(Id, "number-of-primaries", Attributes::NumberOfPrimaries::Id, credsIssuerConfig), // - make_unique(Id, "primary1x", Attributes::Primary1X::Id, credsIssuerConfig), // - make_unique(Id, "primary1y", Attributes::Primary1Y::Id, credsIssuerConfig), // - make_unique(Id, "primary1intensity", Attributes::Primary1Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary2x", Attributes::Primary2X::Id, credsIssuerConfig), // - make_unique(Id, "primary2y", Attributes::Primary2Y::Id, credsIssuerConfig), // - make_unique(Id, "primary2intensity", Attributes::Primary2Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary3x", Attributes::Primary3X::Id, credsIssuerConfig), // - make_unique(Id, "primary3y", Attributes::Primary3Y::Id, credsIssuerConfig), // - make_unique(Id, "primary3intensity", Attributes::Primary3Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary4x", Attributes::Primary4X::Id, credsIssuerConfig), // - make_unique(Id, "primary4y", Attributes::Primary4Y::Id, credsIssuerConfig), // - make_unique(Id, "primary4intensity", Attributes::Primary4Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary5x", Attributes::Primary5X::Id, credsIssuerConfig), // - make_unique(Id, "primary5y", Attributes::Primary5Y::Id, credsIssuerConfig), // - make_unique(Id, "primary5intensity", Attributes::Primary5Intensity::Id, credsIssuerConfig), // - make_unique(Id, "primary6x", Attributes::Primary6X::Id, credsIssuerConfig), // - make_unique(Id, "primary6y", Attributes::Primary6Y::Id, credsIssuerConfig), // - make_unique(Id, "primary6intensity", Attributes::Primary6Intensity::Id, credsIssuerConfig), // - make_unique(Id, "white-point-x", Attributes::WhitePointX::Id, credsIssuerConfig), // - make_unique(Id, "white-point-y", Attributes::WhitePointY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-rx", Attributes::ColorPointRX::Id, credsIssuerConfig), // - make_unique(Id, "color-point-ry", Attributes::ColorPointRY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-rintensity", Attributes::ColorPointRIntensity::Id, credsIssuerConfig), // - make_unique(Id, "color-point-gx", Attributes::ColorPointGX::Id, credsIssuerConfig), // - make_unique(Id, "color-point-gy", Attributes::ColorPointGY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-gintensity", Attributes::ColorPointGIntensity::Id, credsIssuerConfig), // - make_unique(Id, "color-point-bx", Attributes::ColorPointBX::Id, credsIssuerConfig), // - make_unique(Id, "color-point-by", Attributes::ColorPointBY::Id, credsIssuerConfig), // - make_unique(Id, "color-point-bintensity", Attributes::ColorPointBIntensity::Id, credsIssuerConfig), // - make_unique(Id, "enhanced-current-hue", Attributes::EnhancedCurrentHue::Id, credsIssuerConfig), // - make_unique(Id, "enhanced-color-mode", Attributes::EnhancedColorMode::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-active", Attributes::ColorLoopActive::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-direction", Attributes::ColorLoopDirection::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-time", Attributes::ColorLoopTime::Id, credsIssuerConfig), // - make_unique(Id, "color-loop-start-enhanced-hue", Attributes::ColorLoopStartEnhancedHue::Id, - credsIssuerConfig), // - make_unique(Id, "color-loop-stored-enhanced-hue", Attributes::ColorLoopStoredEnhancedHue::Id, - credsIssuerConfig), // - make_unique(Id, "color-capabilities", Attributes::ColorCapabilities::Id, credsIssuerConfig), // - make_unique(Id, "color-temp-physical-min", Attributes::ColorTempPhysicalMin::Id, credsIssuerConfig), // - make_unique(Id, "color-temp-physical-max", Attributes::ColorTempPhysicalMax::Id, credsIssuerConfig), // - make_unique(Id, "couple-color-temp-to-level-min-mireds", - Attributes::CoupleColorTempToLevelMinMireds::Id, credsIssuerConfig), // - make_unique(Id, "start-up-color-temperature-mireds", Attributes::StartUpColorTemperatureMireds::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000041, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterContentLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::EnhancedMoveHue::Type mRequest; +}; + +/* + * Command EnhancedStepHue + */ +class ColorControlEnhancedStepHue : public ClusterCommand { - using namespace chip::app::Clusters::ContentLauncher; +public: + ColorControlEnhancedStepHue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-step-hue", credsIssuerConfig) + { + AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); + AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "ContentLauncher"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "accept-header-list", Attributes::AcceptHeaderList::Id, credsIssuerConfig), // - make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "accept-header-list", Attributes::AcceptHeaderList::Id, credsIssuerConfig), // - make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000042, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterDescriptor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::EnhancedStepHue::Type mRequest; +}; + +/* + * Command EnhancedMoveToHueAndSaturation + */ +class ColorControlEnhancedMoveToHueAndSaturation : public ClusterCommand { - using namespace chip::app::Clusters::Descriptor; +public: + ColorControlEnhancedMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-move-to-hue-and-saturation", credsIssuerConfig) + { + AddArgument("EnhancedHue", 0, UINT16_MAX, &mRequest.enhancedHue); + AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "Descriptor"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "device-list", Attributes::DeviceList::Id, credsIssuerConfig), // - make_unique(Id, "server-list", Attributes::ServerList::Id, credsIssuerConfig), // - make_unique(Id, "client-list", Attributes::ClientList::Id, credsIssuerConfig), // - make_unique(Id, "parts-list", Attributes::PartsList::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "device-list", Attributes::DeviceList::Id, credsIssuerConfig), // - make_unique(Id, "server-list", Attributes::ServerList::Id, credsIssuerConfig), // - make_unique(Id, "client-list", Attributes::ClientList::Id, credsIssuerConfig), // - make_unique(Id, "parts-list", Attributes::PartsList::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000043, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterDiagnosticLogs(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::DiagnosticLogs; +private: + chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHueAndSaturation::Type mRequest; +}; - const char * clusterName = "DiagnosticLogs"; +/* + * Command ColorLoopSet + */ +class ColorControlColorLoopSet : public ClusterCommand +{ +public: + ColorControlColorLoopSet(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("color-loop-set", credsIssuerConfig) + { + AddArgument("UpdateFlags", 0, UINT8_MAX, &mRequest.updateFlags); + AddArgument("Action", 0, UINT8_MAX, &mRequest.action); + AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction); + AddArgument("Time", 0, UINT16_MAX, &mRequest.time); + AddArgument("StartHue", 0, UINT16_MAX, &mRequest.startHue); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on endpoint %" PRIu16, endpointId); - commands.Register(clusterName, clusterCommands); -} -void registerClusterDoorLock(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::DoorLock; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000044, mRequest); + } - const char * clusterName = "DoorLock"; +private: + chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type mRequest; +}; - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "lock-state", Attributes::LockState::Id, credsIssuerConfig), // - make_unique(Id, "lock-type", Attributes::LockType::Id, credsIssuerConfig), // - make_unique(Id, "actuator-enabled", Attributes::ActuatorEnabled::Id, credsIssuerConfig), // - make_unique(Id, "door-state", Attributes::DoorState::Id, credsIssuerConfig), // - make_unique(Id, "number-of-total-users-supported", Attributes::NumberOfTotalUsersSupported::Id, - credsIssuerConfig), // - make_unique(Id, "number-of-pinusers-supported", Attributes::NumberOfPINUsersSupported::Id, - credsIssuerConfig), // - make_unique(Id, "number-of-rfidusers-supported", Attributes::NumberOfRFIDUsersSupported::Id, - credsIssuerConfig), // - make_unique(Id, "number-of-week-day-schedules-supported-per-user", - Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // - make_unique(Id, "number-of-year-day-schedules-supported-per-user", - Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // - make_unique(Id, "max-pincode-length", Attributes::MaxPINCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "min-pincode-length", Attributes::MinPINCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "max-rfidcode-length", Attributes::MaxRFIDCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "min-rfidcode-length", Attributes::MinRFIDCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "language", Attributes::Language::Id, credsIssuerConfig), // - make_unique(Id, "auto-relock-time", Attributes::AutoRelockTime::Id, credsIssuerConfig), // - make_unique(Id, "sound-volume", Attributes::SoundVolume::Id, credsIssuerConfig), // - make_unique(Id, "operating-mode", Attributes::OperatingMode::Id, credsIssuerConfig), // - make_unique(Id, "supported-operating-modes", Attributes::SupportedOperatingModes::Id, credsIssuerConfig), // - make_unique(Id, "enable-one-touch-locking", Attributes::EnableOneTouchLocking::Id, credsIssuerConfig), // - make_unique(Id, "enable-privacy-mode-button", Attributes::EnablePrivacyModeButton::Id, credsIssuerConfig), // - make_unique(Id, "wrong-code-entry-limit", Attributes::WrongCodeEntryLimit::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "lock-state", Attributes::LockState::Id, credsIssuerConfig), // - make_unique(Id, "lock-type", Attributes::LockType::Id, credsIssuerConfig), // - make_unique(Id, "actuator-enabled", Attributes::ActuatorEnabled::Id, credsIssuerConfig), // - make_unique(Id, "door-state", Attributes::DoorState::Id, credsIssuerConfig), // - make_unique(Id, "number-of-total-users-supported", Attributes::NumberOfTotalUsersSupported::Id, - credsIssuerConfig), // - make_unique(Id, "number-of-pinusers-supported", Attributes::NumberOfPINUsersSupported::Id, - credsIssuerConfig), // - make_unique(Id, "number-of-rfidusers-supported", Attributes::NumberOfRFIDUsersSupported::Id, - credsIssuerConfig), // - make_unique(Id, "number-of-week-day-schedules-supported-per-user", - Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // - make_unique(Id, "number-of-year-day-schedules-supported-per-user", - Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // - make_unique(Id, "max-pincode-length", Attributes::MaxPINCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "min-pincode-length", Attributes::MinPINCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "max-rfidcode-length", Attributes::MaxRFIDCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "min-rfidcode-length", Attributes::MinRFIDCodeLength::Id, credsIssuerConfig), // - make_unique(Id, "language", Attributes::Language::Id, credsIssuerConfig), // - make_unique(Id, "auto-relock-time", Attributes::AutoRelockTime::Id, credsIssuerConfig), // - make_unique(Id, "sound-volume", Attributes::SoundVolume::Id, credsIssuerConfig), // - make_unique(Id, "operating-mode", Attributes::OperatingMode::Id, credsIssuerConfig), // - make_unique(Id, "supported-operating-modes", Attributes::SupportedOperatingModes::Id, - credsIssuerConfig), // - make_unique(Id, "enable-one-touch-locking", Attributes::EnableOneTouchLocking::Id, - credsIssuerConfig), // - make_unique(Id, "enable-privacy-mode-button", Attributes::EnablePrivacyModeButton::Id, - credsIssuerConfig), // - make_unique(Id, "wrong-code-entry-limit", Attributes::WrongCodeEntryLimit::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "door-lock-alarm", Events::DoorLockAlarm::Id, credsIssuerConfig), // - make_unique(Id, "door-state-change", Events::DoorStateChange::Id, credsIssuerConfig), // - make_unique(Id, "lock-operation", Events::LockOperation::Id, credsIssuerConfig), // - make_unique(Id, "lock-operation-error", Events::LockOperationError::Id, credsIssuerConfig), // - make_unique(Id, "lock-user-change", Events::LockUserChange::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "door-lock-alarm", Events::DoorLockAlarm::Id, credsIssuerConfig), // - make_unique(Id, "door-state-change", Events::DoorStateChange::Id, credsIssuerConfig), // - make_unique(Id, "lock-operation", Events::LockOperation::Id, credsIssuerConfig), // - make_unique(Id, "lock-operation-error", Events::LockOperationError::Id, credsIssuerConfig), // - make_unique(Id, "lock-user-change", Events::LockUserChange::Id, credsIssuerConfig), // - }; - - commands.Register(clusterName, clusterCommands); -} -void registerClusterElectricalMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +/* + * Command StopMoveStep + */ +class ColorControlStopMoveStep : public ClusterCommand { - using namespace chip::app::Clusters::ElectricalMeasurement; +public: + ColorControlStopMoveStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-move-step", credsIssuerConfig) + { + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "ElectricalMeasurement"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measurement-type", Attributes::MeasurementType::Id, credsIssuerConfig), // - make_unique(Id, "total-active-power", Attributes::TotalActivePower::Id, credsIssuerConfig), // - make_unique(Id, "rms-voltage", Attributes::RmsVoltage::Id, credsIssuerConfig), // - make_unique(Id, "rms-voltage-min", Attributes::RmsVoltageMin::Id, credsIssuerConfig), // - make_unique(Id, "rms-voltage-max", Attributes::RmsVoltageMax::Id, credsIssuerConfig), // - make_unique(Id, "rms-current", Attributes::RmsCurrent::Id, credsIssuerConfig), // - make_unique(Id, "rms-current-min", Attributes::RmsCurrentMin::Id, credsIssuerConfig), // - make_unique(Id, "rms-current-max", Attributes::RmsCurrentMax::Id, credsIssuerConfig), // - make_unique(Id, "active-power", Attributes::ActivePower::Id, credsIssuerConfig), // - make_unique(Id, "active-power-min", Attributes::ActivePowerMin::Id, credsIssuerConfig), // - make_unique(Id, "active-power-max", Attributes::ActivePowerMax::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measurement-type", Attributes::MeasurementType::Id, credsIssuerConfig), // - make_unique(Id, "total-active-power", Attributes::TotalActivePower::Id, credsIssuerConfig), // - make_unique(Id, "rms-voltage", Attributes::RmsVoltage::Id, credsIssuerConfig), // - make_unique(Id, "rms-voltage-min", Attributes::RmsVoltageMin::Id, credsIssuerConfig), // - make_unique(Id, "rms-voltage-max", Attributes::RmsVoltageMax::Id, credsIssuerConfig), // - make_unique(Id, "rms-current", Attributes::RmsCurrent::Id, credsIssuerConfig), // - make_unique(Id, "rms-current-min", Attributes::RmsCurrentMin::Id, credsIssuerConfig), // - make_unique(Id, "rms-current-max", Attributes::RmsCurrentMax::Id, credsIssuerConfig), // - make_unique(Id, "active-power", Attributes::ActivePower::Id, credsIssuerConfig), // - make_unique(Id, "active-power-min", Attributes::ActivePowerMin::Id, credsIssuerConfig), // - make_unique(Id, "active-power-max", Attributes::ActivePowerMax::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x00000047, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterEthernetNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type mRequest; +}; + +/* + * Command MoveColorTemperature + */ +class ColorControlMoveColorTemperature : public ClusterCommand { - using namespace chip::app::Clusters::EthernetNetworkDiagnostics; +public: + ColorControlMoveColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-color-temperature", credsIssuerConfig) + { + AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); + AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate); + AddArgument("ColorTemperatureMinimum", 0, UINT16_MAX, &mRequest.colorTemperatureMinimum); + AddArgument("ColorTemperatureMaximum", 0, UINT16_MAX, &mRequest.colorTemperatureMaximum); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "EthernetNetworkDiagnostics"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "phyrate", Attributes::PHYRate::Id, credsIssuerConfig), // - make_unique(Id, "full-duplex", Attributes::FullDuplex::Id, credsIssuerConfig), // - make_unique(Id, "packet-rx-count", Attributes::PacketRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-tx-count", Attributes::PacketTxCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-err-count", Attributes::TxErrCount::Id, credsIssuerConfig), // - make_unique(Id, "collision-count", Attributes::CollisionCount::Id, credsIssuerConfig), // - make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // - make_unique(Id, "carrier-detect", Attributes::CarrierDetect::Id, credsIssuerConfig), // - make_unique(Id, "time-since-reset", Attributes::TimeSinceReset::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "phyrate", Attributes::PHYRate::Id, credsIssuerConfig), // - make_unique(Id, "full-duplex", Attributes::FullDuplex::Id, credsIssuerConfig), // - make_unique(Id, "packet-rx-count", Attributes::PacketRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-tx-count", Attributes::PacketTxCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-err-count", Attributes::TxErrCount::Id, credsIssuerConfig), // - make_unique(Id, "collision-count", Attributes::CollisionCount::Id, credsIssuerConfig), // - make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // - make_unique(Id, "carrier-detect", Attributes::CarrierDetect::Id, credsIssuerConfig), // - make_unique(Id, "time-since-reset", Attributes::TimeSinceReset::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x0000004B, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterFixedLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::MoveColorTemperature::Type mRequest; +}; + +/* + * Command StepColorTemperature + */ +class ColorControlStepColorTemperature : public ClusterCommand { - using namespace chip::app::Clusters::FixedLabel; +public: + ColorControlStepColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("step-color-temperature", credsIssuerConfig) + { + AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); + AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize); + AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("ColorTemperatureMinimum", 0, UINT16_MAX, &mRequest.colorTemperatureMinimum); + AddArgument("ColorTemperatureMaximum", 0, UINT16_MAX, &mRequest.colorTemperatureMaximum); + AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); + AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); + ClusterCommand::AddArguments(); + } - const char * clusterName = "FixedLabel"; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on endpoint %" PRIu16, endpointId); - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + return ClusterCommand::SendCommand(device, endpointId, 0x00000300, 0x0000004C, mRequest); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::app::Clusters::ColorControl::Commands::StepColorTemperature::Type mRequest; +}; + +class WriteColorControlColorControlOptions : public WriteAttribute { - using namespace chip::app::Clusters::FlowMeasurement; +public: + WriteColorControlColorControlOptions(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ColorControlOptions", credsIssuerConfig) + { + AddArgument("attr-name", "color-control-options"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "FlowMeasurement"; + ~WriteColorControlColorControlOptions() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000000F, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterGeneralCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteColorControlWhitePointX : public WriteAttribute { - using namespace chip::app::Clusters::GeneralCommissioning; +public: + WriteColorControlWhitePointX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("WhitePointX", credsIssuerConfig) + { + AddArgument("attr-name", "white-point-x"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "GeneralCommissioning"; + ~WriteColorControlWhitePointX() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "breadcrumb", Attributes::Breadcrumb::Id, credsIssuerConfig), // - make_unique(Id, "basic-commissioning-info", Attributes::BasicCommissioningInfo::Id, credsIssuerConfig), // - make_unique(Id, "regulatory-config", Attributes::RegulatoryConfig::Id, credsIssuerConfig), // - make_unique(Id, "location-capability", Attributes::LocationCapability::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "breadcrumb", Attributes::Breadcrumb::Id, credsIssuerConfig), // - make_unique(Id, "basic-commissioning-info", Attributes::BasicCommissioningInfo::Id, - credsIssuerConfig), // - make_unique(Id, "regulatory-config", Attributes::RegulatoryConfig::Id, credsIssuerConfig), // - make_unique(Id, "location-capability", Attributes::LocationCapability::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000030, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlWhitePointY : public WriteAttribute { - using namespace chip::app::Clusters::GeneralDiagnostics; +public: + WriteColorControlWhitePointY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("WhitePointY", credsIssuerConfig) + { + AddArgument("attr-name", "white-point-y"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "GeneralDiagnostics"; + ~WriteColorControlWhitePointY() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "network-interfaces", Attributes::NetworkInterfaces::Id, credsIssuerConfig), // - make_unique(Id, "reboot-count", Attributes::RebootCount::Id, credsIssuerConfig), // - make_unique(Id, "up-time", Attributes::UpTime::Id, credsIssuerConfig), // - make_unique(Id, "total-operational-hours", Attributes::TotalOperationalHours::Id, credsIssuerConfig), // - make_unique(Id, "boot-reasons", Attributes::BootReasons::Id, credsIssuerConfig), // - make_unique(Id, "active-hardware-faults", Attributes::ActiveHardwareFaults::Id, credsIssuerConfig), // - make_unique(Id, "active-radio-faults", Attributes::ActiveRadioFaults::Id, credsIssuerConfig), // - make_unique(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "network-interfaces", Attributes::NetworkInterfaces::Id, credsIssuerConfig), // - make_unique(Id, "reboot-count", Attributes::RebootCount::Id, credsIssuerConfig), // - make_unique(Id, "up-time", Attributes::UpTime::Id, credsIssuerConfig), // - make_unique(Id, "total-operational-hours", Attributes::TotalOperationalHours::Id, credsIssuerConfig), // - make_unique(Id, "boot-reasons", Attributes::BootReasons::Id, credsIssuerConfig), // - make_unique(Id, "active-hardware-faults", Attributes::ActiveHardwareFaults::Id, credsIssuerConfig), // - make_unique(Id, "active-radio-faults", Attributes::ActiveRadioFaults::Id, credsIssuerConfig), // - make_unique(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "hardware-fault-change", Events::HardwareFaultChange::Id, credsIssuerConfig), // - make_unique(Id, "radio-fault-change", Events::RadioFaultChange::Id, credsIssuerConfig), // - make_unique(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), // - make_unique(Id, "boot-reason", Events::BootReason::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "hardware-fault-change", Events::HardwareFaultChange::Id, credsIssuerConfig), // - make_unique(Id, "radio-fault-change", Events::RadioFaultChange::Id, credsIssuerConfig), // - make_unique(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), // - make_unique(Id, "boot-reason", Events::BootReason::Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000031, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterGroupKeyManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointRX : public WriteAttribute { - using namespace chip::app::Clusters::GroupKeyManagement; +public: + WriteColorControlColorPointRX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointRX", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-rx"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "GroupKeyManagement"; + ~WriteColorControlColorPointRX() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), // - make_unique(Id, "group-table", Attributes::GroupTable::Id, credsIssuerConfig), // - make_unique(Id, "max-groups-per-fabric", Attributes::MaxGroupsPerFabric::Id, credsIssuerConfig), // - make_unique(Id, "max-group-keys-per-fabric", Attributes::MaxGroupKeysPerFabric::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), // - make_unique(Id, "group-table", Attributes::GroupTable::Id, credsIssuerConfig), // - make_unique(Id, "max-groups-per-fabric", Attributes::MaxGroupsPerFabric::Id, credsIssuerConfig), // - make_unique(Id, "max-group-keys-per-fabric", Attributes::MaxGroupKeysPerFabric::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000032, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterGroups(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointRY : public WriteAttribute { - using namespace chip::app::Clusters::Groups; +public: + WriteColorControlColorPointRY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointRY", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-ry"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "Groups"; + ~WriteColorControlColorPointRY() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000033, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterIdentify(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointRIntensity : public WriteAttribute { - using namespace chip::app::Clusters::Identify; +public: + WriteColorControlColorPointRIntensity(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ColorPointRIntensity", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-rintensity"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "Identify"; + ~WriteColorControlColorPointRIntensity() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "identify-time", Attributes::IdentifyTime::Id, credsIssuerConfig), // - make_unique(Id, "identify-type", Attributes::IdentifyType::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "identify-time", Attributes::IdentifyTime::Id, credsIssuerConfig), // - make_unique(Id, "identify-type", Attributes::IdentifyType::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000034, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteColorControlColorPointGX : public WriteAttribute { - using namespace chip::app::Clusters::IlluminanceMeasurement; +public: + WriteColorControlColorPointGX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointGX", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-gx"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "IlluminanceMeasurement"; + ~WriteColorControlColorPointGX() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000036, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterKeypadInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointGY : public WriteAttribute { - using namespace chip::app::Clusters::KeypadInput; +public: + WriteColorControlColorPointGY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointGY", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-gy"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "KeypadInput"; + ~WriteColorControlColorPointGY() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000037, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterLevelControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointGIntensity : public WriteAttribute { - using namespace chip::app::Clusters::LevelControl; +public: + WriteColorControlColorPointGIntensity(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ColorPointGIntensity", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-gintensity"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "LevelControl"; + ~WriteColorControlColorPointGIntensity() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-level", Attributes::CurrentLevel::Id, credsIssuerConfig), // - make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // - make_unique(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), // - make_unique(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), // - make_unique(Id, "current-frequency", Attributes::CurrentFrequency::Id, credsIssuerConfig), // - make_unique(Id, "min-frequency", Attributes::MinFrequency::Id, credsIssuerConfig), // - make_unique(Id, "max-frequency", Attributes::MaxFrequency::Id, credsIssuerConfig), // - make_unique(Id, "options", Attributes::Options::Id, credsIssuerConfig), // - make_unique(Id, "on-off-transition-time", Attributes::OnOffTransitionTime::Id, credsIssuerConfig), // - make_unique(Id, "on-level", Attributes::OnLevel::Id, credsIssuerConfig), // - make_unique(Id, "on-transition-time", Attributes::OnTransitionTime::Id, credsIssuerConfig), // - make_unique(Id, "off-transition-time", Attributes::OffTransitionTime::Id, credsIssuerConfig), // - make_unique(Id, "default-move-rate", Attributes::DefaultMoveRate::Id, credsIssuerConfig), // - make_unique(Id, "start-up-current-level", Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-level", Attributes::CurrentLevel::Id, credsIssuerConfig), // - make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // - make_unique(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), // - make_unique(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), // - make_unique(Id, "current-frequency", Attributes::CurrentFrequency::Id, credsIssuerConfig), // - make_unique(Id, "min-frequency", Attributes::MinFrequency::Id, credsIssuerConfig), // - make_unique(Id, "max-frequency", Attributes::MaxFrequency::Id, credsIssuerConfig), // - make_unique(Id, "options", Attributes::Options::Id, credsIssuerConfig), // - make_unique(Id, "on-off-transition-time", Attributes::OnOffTransitionTime::Id, credsIssuerConfig), // - make_unique(Id, "on-level", Attributes::OnLevel::Id, credsIssuerConfig), // - make_unique(Id, "on-transition-time", Attributes::OnTransitionTime::Id, credsIssuerConfig), // - make_unique(Id, "off-transition-time", Attributes::OffTransitionTime::Id, credsIssuerConfig), // - make_unique(Id, "default-move-rate", Attributes::DefaultMoveRate::Id, credsIssuerConfig), // - make_unique(Id, "start-up-current-level", Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00000038, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterLocalizationConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteColorControlColorPointBX : public WriteAttribute { - using namespace chip::app::Clusters::LocalizationConfiguration; +public: + WriteColorControlColorPointBX(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointBX", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-bx"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "LocalizationConfiguration"; + ~WriteColorControlColorPointBX() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), // - make_unique(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), // - make_unique(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000003A, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointBY : public WriteAttribute { - using namespace chip::app::Clusters::LowPower; +public: + WriteColorControlColorPointBY(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("ColorPointBY", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-by"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "LowPower"; + ~WriteColorControlColorPointBY() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000003B, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteColorControlColorPointBIntensity : public WriteAttribute { - using namespace chip::app::Clusters::MediaInput; +public: + WriteColorControlColorPointBIntensity(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ColorPointBIntensity", credsIssuerConfig) + { + AddArgument("attr-name", "color-point-bintensity"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "MediaInput"; + ~WriteColorControlColorPointBIntensity() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "media-input-list", Attributes::MediaInputList::Id, credsIssuerConfig), // - make_unique(Id, "current-media-input", Attributes::CurrentMediaInput::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "media-input-list", Attributes::MediaInputList::Id, credsIssuerConfig), // - make_unique(Id, "current-media-input", Attributes::CurrentMediaInput::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x0000003C, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteColorControlStartUpColorTemperatureMireds : public WriteAttribute { - using namespace chip::app::Clusters::MediaPlayback; +public: + WriteColorControlStartUpColorTemperatureMireds(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("StartUpColorTemperatureMireds", credsIssuerConfig) + { + AddArgument("attr-name", "start-up-color-temperature-mireds"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "MediaPlayback"; + ~WriteColorControlStartUpColorTemperatureMireds() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "playback-state", Attributes::PlaybackState::Id, credsIssuerConfig), // - make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // - make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // - make_unique(Id, "position", Attributes::Position::Id, credsIssuerConfig), // - make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "playback-state", Attributes::PlaybackState::Id, credsIssuerConfig), // - make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // - make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // - make_unique(Id, "position", Attributes::Position::Id, credsIssuerConfig), // - make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000300, 0x00004010, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterModeSelect(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster BallastConfiguration | 0x0301 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * PhysicalMinLevel | 0x0000 | +| * PhysicalMaxLevel | 0x0001 | +| * BallastStatus | 0x0002 | +| * MinLevel | 0x0010 | +| * MaxLevel | 0x0011 | +| * PowerOnLevel | 0x0012 | +| * PowerOnFadeTime | 0x0013 | +| * IntrinsicBallastFactor | 0x0014 | +| * BallastFactorAdjustment | 0x0015 | +| * LampQuality | 0x0020 | +| * LampType | 0x0030 | +| * LampManufacturer | 0x0031 | +| * LampRatedHours | 0x0032 | +| * LampBurnHours | 0x0033 | +| * LampAlarmMode | 0x0034 | +| * LampBurnHoursTripPoint | 0x0035 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteBallastConfigurationMinLevel : public WriteAttribute { - using namespace chip::app::Clusters::ModeSelect; +public: + WriteBallastConfigurationMinLevel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("MinLevel", credsIssuerConfig) + { + AddArgument("attr-name", "min-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "ModeSelect"; + ~WriteBallastConfigurationMinLevel() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // - make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // - make_unique(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), // - make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // - make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // - make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // - make_unique(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), // - make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // - make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000010, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterNetworkCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteBallastConfigurationMaxLevel : public WriteAttribute { - using namespace chip::app::Clusters::NetworkCommissioning; +public: + WriteBallastConfigurationMaxLevel(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("MaxLevel", credsIssuerConfig) + { + AddArgument("attr-name", "max-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "NetworkCommissioning"; + ~WriteBallastConfigurationMaxLevel() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), // - make_unique(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), // - make_unique(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), // - make_unique(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, credsIssuerConfig), // - make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // - make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), // - make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), // - make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), // - make_unique(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), // - make_unique(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), // - make_unique(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, - credsIssuerConfig), // - make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // - make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), // - make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), // - make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000011, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterOtaSoftwareUpdateProvider(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteBallastConfigurationPowerOnLevel : public WriteAttribute { - using namespace chip::app::Clusters::OtaSoftwareUpdateProvider; +public: + WriteBallastConfigurationPowerOnLevel(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PowerOnLevel", credsIssuerConfig) + { + AddArgument("attr-name", "power-on-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "OtaSoftwareUpdateProvider"; + ~WriteBallastConfigurationPowerOnLevel() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000012, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterOtaSoftwareUpdateRequestor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteBallastConfigurationPowerOnFadeTime : public WriteAttribute { - using namespace chip::app::Clusters::OtaSoftwareUpdateRequestor; +public: + WriteBallastConfigurationPowerOnFadeTime(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PowerOnFadeTime", credsIssuerConfig) + { + AddArgument("attr-name", "power-on-fade-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "OtaSoftwareUpdateRequestor"; + ~WriteBallastConfigurationPowerOnFadeTime() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), // - make_unique(Id, "update-possible", Attributes::UpdatePossible::Id, credsIssuerConfig), // - make_unique(Id, "update-state", Attributes::UpdateState::Id, credsIssuerConfig), // - make_unique(Id, "update-state-progress", Attributes::UpdateStateProgress::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), // - make_unique(Id, "update-possible", Attributes::UpdatePossible::Id, credsIssuerConfig), // - make_unique(Id, "update-state", Attributes::UpdateState::Id, credsIssuerConfig), // - make_unique(Id, "update-state-progress", Attributes::UpdateStateProgress::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-transition", Events::StateTransition::Id, credsIssuerConfig), // - make_unique(Id, "version-applied", Events::VersionApplied::Id, credsIssuerConfig), // - make_unique(Id, "download-error", Events::DownloadError::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-transition", Events::StateTransition::Id, credsIssuerConfig), // - make_unique(Id, "version-applied", Events::VersionApplied::Id, credsIssuerConfig), // - make_unique(Id, "download-error", Events::DownloadError::Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000013, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteBallastConfigurationIntrinsicBallastFactor : public WriteAttribute { - using namespace chip::app::Clusters::OccupancySensing; +public: + WriteBallastConfigurationIntrinsicBallastFactor(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("IntrinsicBallastFactor", credsIssuerConfig) + { + AddArgument("attr-name", "intrinsic-ballast-factor"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "OccupancySensing"; + ~WriteBallastConfigurationIntrinsicBallastFactor() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), // - make_unique(Id, "occupancy-sensor-type", Attributes::OccupancySensorType::Id, credsIssuerConfig), // - make_unique(Id, "occupancy-sensor-type-bitmap", Attributes::OccupancySensorTypeBitmap::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), // - make_unique(Id, "occupancy-sensor-type", Attributes::OccupancySensorType::Id, credsIssuerConfig), // - make_unique(Id, "occupancy-sensor-type-bitmap", Attributes::OccupancySensorTypeBitmap::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000014, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterOnOff(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteBallastConfigurationBallastFactorAdjustment : public WriteAttribute { - using namespace chip::app::Clusters::OnOff; +public: + WriteBallastConfigurationBallastFactorAdjustment(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("BallastFactorAdjustment", credsIssuerConfig) + { + AddArgument("attr-name", "ballast-factor-adjustment"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "OnOff"; + ~WriteBallastConfigurationBallastFactorAdjustment() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "on-off", Attributes::OnOff::Id, credsIssuerConfig), // - make_unique(Id, "global-scene-control", Attributes::GlobalSceneControl::Id, credsIssuerConfig), // - make_unique(Id, "on-time", Attributes::OnTime::Id, credsIssuerConfig), // - make_unique(Id, "off-wait-time", Attributes::OffWaitTime::Id, credsIssuerConfig), // - make_unique(Id, "start-up-on-off", Attributes::StartUpOnOff::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "on-off", Attributes::OnOff::Id, credsIssuerConfig), // - make_unique(Id, "global-scene-control", Attributes::GlobalSceneControl::Id, credsIssuerConfig), // - make_unique(Id, "on-time", Attributes::OnTime::Id, credsIssuerConfig), // - make_unique(Id, "off-wait-time", Attributes::OffWaitTime::Id, credsIssuerConfig), // - make_unique(Id, "start-up-on-off", Attributes::StartUpOnOff::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000015, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterOnOffSwitchConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteBallastConfigurationLampType : public WriteAttribute { - using namespace chip::app::Clusters::OnOffSwitchConfiguration; +public: + WriteBallastConfigurationLampType(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("LampType", credsIssuerConfig) + { + AddArgument("attr-name", "lamp-type"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "OnOffSwitchConfiguration"; + ~WriteBallastConfigurationLampType() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), // - make_unique(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), // - make_unique(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000030, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterOperationalCredentials(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::CharSpan mValue; +}; + +class WriteBallastConfigurationLampManufacturer : public WriteAttribute { - using namespace chip::app::Clusters::OperationalCredentials; +public: + WriteBallastConfigurationLampManufacturer(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LampManufacturer", credsIssuerConfig) + { + AddArgument("attr-name", "lamp-manufacturer"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "OperationalCredentials"; + ~WriteBallastConfigurationLampManufacturer() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), // - make_unique(Id, "fabrics-list", Attributes::FabricsList::Id, credsIssuerConfig), // - make_unique(Id, "supported-fabrics", Attributes::SupportedFabrics::Id, credsIssuerConfig), // - make_unique(Id, "commissioned-fabrics", Attributes::CommissionedFabrics::Id, credsIssuerConfig), // - make_unique(Id, "trusted-root-certificates", Attributes::TrustedRootCertificates::Id, credsIssuerConfig), // - make_unique(Id, "current-fabric-index", Attributes::CurrentFabricIndex::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), // - make_unique(Id, "fabrics-list", Attributes::FabricsList::Id, credsIssuerConfig), // - make_unique(Id, "supported-fabrics", Attributes::SupportedFabrics::Id, credsIssuerConfig), // - make_unique(Id, "commissioned-fabrics", Attributes::CommissionedFabrics::Id, credsIssuerConfig), // - make_unique(Id, "trusted-root-certificates", Attributes::TrustedRootCertificates::Id, - credsIssuerConfig), // - make_unique(Id, "current-fabric-index", Attributes::CurrentFabricIndex::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000031, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterPowerSource(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + chip::CharSpan mValue; +}; + +class WriteBallastConfigurationLampRatedHours : public WriteAttribute { - using namespace chip::app::Clusters::PowerSource; +public: + WriteBallastConfigurationLampRatedHours(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LampRatedHours", credsIssuerConfig) + { + AddArgument("attr-name", "lamp-rated-hours"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "PowerSource"; + ~WriteBallastConfigurationLampRatedHours() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // - make_unique(Id, "order", Attributes::Order::Id, credsIssuerConfig), // - make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // - make_unique(Id, "battery-voltage", Attributes::BatteryVoltage::Id, credsIssuerConfig), // - make_unique(Id, "battery-percent-remaining", Attributes::BatteryPercentRemaining::Id, credsIssuerConfig), // - make_unique(Id, "battery-time-remaining", Attributes::BatteryTimeRemaining::Id, credsIssuerConfig), // - make_unique(Id, "battery-charge-level", Attributes::BatteryChargeLevel::Id, credsIssuerConfig), // - make_unique(Id, "active-battery-faults", Attributes::ActiveBatteryFaults::Id, credsIssuerConfig), // - make_unique(Id, "battery-charge-state", Attributes::BatteryChargeState::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // - make_unique(Id, "order", Attributes::Order::Id, credsIssuerConfig), // - make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // - make_unique(Id, "battery-voltage", Attributes::BatteryVoltage::Id, credsIssuerConfig), // - make_unique(Id, "battery-percent-remaining", Attributes::BatteryPercentRemaining::Id, - credsIssuerConfig), // - make_unique(Id, "battery-time-remaining", Attributes::BatteryTimeRemaining::Id, credsIssuerConfig), // - make_unique(Id, "battery-charge-level", Attributes::BatteryChargeLevel::Id, credsIssuerConfig), // - make_unique(Id, "active-battery-faults", Attributes::ActiveBatteryFaults::Id, credsIssuerConfig), // - make_unique(Id, "battery-charge-state", Attributes::BatteryChargeState::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000032, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterPowerSourceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint32_t mValue; +}; + +class WriteBallastConfigurationLampBurnHours : public WriteAttribute { - using namespace chip::app::Clusters::PowerSourceConfiguration; +public: + WriteBallastConfigurationLampBurnHours(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LampBurnHours", credsIssuerConfig) + { + AddArgument("attr-name", "lamp-burn-hours"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "PowerSourceConfiguration"; + ~WriteBallastConfigurationLampBurnHours() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000033, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint32_t mValue; +}; + +class WriteBallastConfigurationLampAlarmMode : public WriteAttribute { - using namespace chip::app::Clusters::PressureMeasurement; +public: + WriteBallastConfigurationLampAlarmMode(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LampAlarmMode", credsIssuerConfig) + { + AddArgument("attr-name", "lamp-alarm-mode"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "PressureMeasurement"; + ~WriteBallastConfigurationLampAlarmMode() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000034, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterPumpConfigurationAndControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteBallastConfigurationLampBurnHoursTripPoint : public WriteAttribute { - using namespace chip::app::Clusters::PumpConfigurationAndControl; +public: + WriteBallastConfigurationLampBurnHoursTripPoint(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LampBurnHoursTripPoint", credsIssuerConfig) + { + AddArgument("attr-name", "lamp-burn-hours-trip-point"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "PumpConfigurationAndControl"; + ~WriteBallastConfigurationLampBurnHoursTripPoint() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "max-pressure", Attributes::MaxPressure::Id, credsIssuerConfig), // - make_unique(Id, "max-speed", Attributes::MaxSpeed::Id, credsIssuerConfig), // - make_unique(Id, "max-flow", Attributes::MaxFlow::Id, credsIssuerConfig), // - make_unique(Id, "min-const-pressure", Attributes::MinConstPressure::Id, credsIssuerConfig), // - make_unique(Id, "max-const-pressure", Attributes::MaxConstPressure::Id, credsIssuerConfig), // - make_unique(Id, "min-comp-pressure", Attributes::MinCompPressure::Id, credsIssuerConfig), // - make_unique(Id, "max-comp-pressure", Attributes::MaxCompPressure::Id, credsIssuerConfig), // - make_unique(Id, "min-const-speed", Attributes::MinConstSpeed::Id, credsIssuerConfig), // - make_unique(Id, "max-const-speed", Attributes::MaxConstSpeed::Id, credsIssuerConfig), // - make_unique(Id, "min-const-flow", Attributes::MinConstFlow::Id, credsIssuerConfig), // - make_unique(Id, "max-const-flow", Attributes::MaxConstFlow::Id, credsIssuerConfig), // - make_unique(Id, "min-const-temp", Attributes::MinConstTemp::Id, credsIssuerConfig), // - make_unique(Id, "max-const-temp", Attributes::MaxConstTemp::Id, credsIssuerConfig), // - make_unique(Id, "pump-status", Attributes::PumpStatus::Id, credsIssuerConfig), // - make_unique(Id, "effective-operation-mode", Attributes::EffectiveOperationMode::Id, credsIssuerConfig), // - make_unique(Id, "effective-control-mode", Attributes::EffectiveControlMode::Id, credsIssuerConfig), // - make_unique(Id, "capacity", Attributes::Capacity::Id, credsIssuerConfig), // - make_unique(Id, "speed", Attributes::Speed::Id, credsIssuerConfig), // - make_unique(Id, "lifetime-running-hours", Attributes::LifetimeRunningHours::Id, credsIssuerConfig), // - make_unique(Id, "power", Attributes::Power::Id, credsIssuerConfig), // - make_unique(Id, "lifetime-energy-consumed", Attributes::LifetimeEnergyConsumed::Id, credsIssuerConfig), // - make_unique(Id, "operation-mode", Attributes::OperationMode::Id, credsIssuerConfig), // - make_unique(Id, "control-mode", Attributes::ControlMode::Id, credsIssuerConfig), // - make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "max-pressure", Attributes::MaxPressure::Id, credsIssuerConfig), // - make_unique(Id, "max-speed", Attributes::MaxSpeed::Id, credsIssuerConfig), // - make_unique(Id, "max-flow", Attributes::MaxFlow::Id, credsIssuerConfig), // - make_unique(Id, "min-const-pressure", Attributes::MinConstPressure::Id, credsIssuerConfig), // - make_unique(Id, "max-const-pressure", Attributes::MaxConstPressure::Id, credsIssuerConfig), // - make_unique(Id, "min-comp-pressure", Attributes::MinCompPressure::Id, credsIssuerConfig), // - make_unique(Id, "max-comp-pressure", Attributes::MaxCompPressure::Id, credsIssuerConfig), // - make_unique(Id, "min-const-speed", Attributes::MinConstSpeed::Id, credsIssuerConfig), // - make_unique(Id, "max-const-speed", Attributes::MaxConstSpeed::Id, credsIssuerConfig), // - make_unique(Id, "min-const-flow", Attributes::MinConstFlow::Id, credsIssuerConfig), // - make_unique(Id, "max-const-flow", Attributes::MaxConstFlow::Id, credsIssuerConfig), // - make_unique(Id, "min-const-temp", Attributes::MinConstTemp::Id, credsIssuerConfig), // - make_unique(Id, "max-const-temp", Attributes::MaxConstTemp::Id, credsIssuerConfig), // - make_unique(Id, "pump-status", Attributes::PumpStatus::Id, credsIssuerConfig), // - make_unique(Id, "effective-operation-mode", Attributes::EffectiveOperationMode::Id, - credsIssuerConfig), // - make_unique(Id, "effective-control-mode", Attributes::EffectiveControlMode::Id, credsIssuerConfig), // - make_unique(Id, "capacity", Attributes::Capacity::Id, credsIssuerConfig), // - make_unique(Id, "speed", Attributes::Speed::Id, credsIssuerConfig), // - make_unique(Id, "lifetime-running-hours", Attributes::LifetimeRunningHours::Id, credsIssuerConfig), // - make_unique(Id, "power", Attributes::Power::Id, credsIssuerConfig), // - make_unique(Id, "lifetime-energy-consumed", Attributes::LifetimeEnergyConsumed::Id, - credsIssuerConfig), // - make_unique(Id, "operation-mode", Attributes::OperationMode::Id, credsIssuerConfig), // - make_unique(Id, "control-mode", Attributes::ControlMode::Id, credsIssuerConfig), // - make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "supply-voltage-low", Events::SupplyVoltageLow::Id, credsIssuerConfig), // - make_unique(Id, "supply-voltage-high", Events::SupplyVoltageHigh::Id, credsIssuerConfig), // - make_unique(Id, "power-missing-phase", Events::PowerMissingPhase::Id, credsIssuerConfig), // - make_unique(Id, "system-pressure-low", Events::SystemPressureLow::Id, credsIssuerConfig), // - make_unique(Id, "system-pressure-high", Events::SystemPressureHigh::Id, credsIssuerConfig), // - make_unique(Id, "dry-running", Events::DryRunning::Id, credsIssuerConfig), // - make_unique(Id, "motor-temperature-high", Events::MotorTemperatureHigh::Id, credsIssuerConfig), // - make_unique(Id, "pump-motor-fatal-failure", Events::PumpMotorFatalFailure::Id, credsIssuerConfig), // - make_unique(Id, "electronic-temperature-high", Events::ElectronicTemperatureHigh::Id, credsIssuerConfig), // - make_unique(Id, "pump-blocked", Events::PumpBlocked::Id, credsIssuerConfig), // - make_unique(Id, "sensor-failure", Events::SensorFailure::Id, credsIssuerConfig), // - make_unique(Id, "electronic-non-fatal-failure", Events::ElectronicNonFatalFailure::Id, credsIssuerConfig), // - make_unique(Id, "electronic-fatal-failure", Events::ElectronicFatalFailure::Id, credsIssuerConfig), // - make_unique(Id, "general-fault", Events::GeneralFault::Id, credsIssuerConfig), // - make_unique(Id, "leakage", Events::Leakage::Id, credsIssuerConfig), // - make_unique(Id, "air-detection", Events::AirDetection::Id, credsIssuerConfig), // - make_unique(Id, "turbine-operation", Events::TurbineOperation::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "supply-voltage-low", Events::SupplyVoltageLow::Id, credsIssuerConfig), // - make_unique(Id, "supply-voltage-high", Events::SupplyVoltageHigh::Id, credsIssuerConfig), // - make_unique(Id, "power-missing-phase", Events::PowerMissingPhase::Id, credsIssuerConfig), // - make_unique(Id, "system-pressure-low", Events::SystemPressureLow::Id, credsIssuerConfig), // - make_unique(Id, "system-pressure-high", Events::SystemPressureHigh::Id, credsIssuerConfig), // - make_unique(Id, "dry-running", Events::DryRunning::Id, credsIssuerConfig), // - make_unique(Id, "motor-temperature-high", Events::MotorTemperatureHigh::Id, credsIssuerConfig), // - make_unique(Id, "pump-motor-fatal-failure", Events::PumpMotorFatalFailure::Id, credsIssuerConfig), // - make_unique(Id, "electronic-temperature-high", Events::ElectronicTemperatureHigh::Id, credsIssuerConfig), // - make_unique(Id, "pump-blocked", Events::PumpBlocked::Id, credsIssuerConfig), // - make_unique(Id, "sensor-failure", Events::SensorFailure::Id, credsIssuerConfig), // - make_unique(Id, "electronic-non-fatal-failure", Events::ElectronicNonFatalFailure::Id, - credsIssuerConfig), // - make_unique(Id, "electronic-fatal-failure", Events::ElectronicFatalFailure::Id, credsIssuerConfig), // - make_unique(Id, "general-fault", Events::GeneralFault::Id, credsIssuerConfig), // - make_unique(Id, "leakage", Events::Leakage::Id, credsIssuerConfig), // - make_unique(Id, "air-detection", Events::AirDetection::Id, credsIssuerConfig), // - make_unique(Id, "turbine-operation", Events::TurbineOperation::Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000301, 0x00000035, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::RelativeHumidityMeasurement; +private: + uint32_t mValue; +}; - const char * clusterName = "RelativeHumidityMeasurement"; +/*----------------------------------------------------------------------------*\ +| Cluster IlluminanceMeasurement | 0x0400 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * LightSensorType | 0x0004 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; +/*----------------------------------------------------------------------------*\ +| Cluster TemperatureMeasurement | 0x0402 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - commands.Register(clusterName, clusterCommands); -} -void registerClusterScenes(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::Scenes; +/*----------------------------------------------------------------------------*\ +| Cluster PressureMeasurement | 0x0403 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ScaledValue | 0x0010 | +| * MinScaledValue | 0x0011 | +| * MaxScaledValue | 0x0012 | +| * ScaledTolerance | 0x0013 | +| * Scale | 0x0014 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - const char * clusterName = "Scenes"; +/*----------------------------------------------------------------------------*\ +| Cluster FlowMeasurement | 0x0404 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "scene-count", Attributes::SceneCount::Id, credsIssuerConfig), // - make_unique(Id, "current-scene", Attributes::CurrentScene::Id, credsIssuerConfig), // - make_unique(Id, "current-group", Attributes::CurrentGroup::Id, credsIssuerConfig), // - make_unique(Id, "scene-valid", Attributes::SceneValid::Id, credsIssuerConfig), // - make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "scene-count", Attributes::SceneCount::Id, credsIssuerConfig), // - make_unique(Id, "current-scene", Attributes::CurrentScene::Id, credsIssuerConfig), // - make_unique(Id, "current-group", Attributes::CurrentGroup::Id, credsIssuerConfig), // - make_unique(Id, "scene-valid", Attributes::SceneValid::Id, credsIssuerConfig), // - make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; +/*----------------------------------------------------------------------------*\ +| Cluster RelativeHumidityMeasurement | 0x0405 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - commands.Register(clusterName, clusterCommands); -} -void registerClusterSoftwareDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +/*----------------------------------------------------------------------------*\ +| Cluster OccupancySensing | 0x0406 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Occupancy | 0x0000 | +| * OccupancySensorType | 0x0001 | +| * OccupancySensorTypeBitmap | 0x0002 | +| * PirOccupiedToUnoccupiedDelay | 0x0010 | +| * PirUnoccupiedToOccupiedDelay | 0x0011 | +| * PirUnoccupiedToOccupiedThreshold | 0x0012 | +| * UltrasonicOccupiedToUnoccupiedDelay | 0x0020 | +| * UltrasonicUnoccupiedToOccupiedDelay | 0x0021 | +| * UltrasonicUnoccupiedToOccupiedThreshold | 0x0022 | +| * PhysicalContactOccupiedToUnoccupiedDelay | 0x0030 | +| * PhysicalContactUnoccupiedToOccupiedDelay | 0x0031 | +| * PhysicalContactUnoccupiedToOccupiedThreshold | 0x0032 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteOccupancySensingPirOccupiedToUnoccupiedDelay : public WriteAttribute { - using namespace chip::app::Clusters::SoftwareDiagnostics; +public: + WriteOccupancySensingPirOccupiedToUnoccupiedDelay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PirOccupiedToUnoccupiedDelay", credsIssuerConfig) + { + AddArgument("attr-name", "pir-occupied-to-unoccupied-delay"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "SoftwareDiagnostics"; + ~WriteOccupancySensingPirOccupiedToUnoccupiedDelay() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "thread-metrics", Attributes::ThreadMetrics::Id, credsIssuerConfig), // - make_unique(Id, "current-heap-free", Attributes::CurrentHeapFree::Id, credsIssuerConfig), // - make_unique(Id, "current-heap-used", Attributes::CurrentHeapUsed::Id, credsIssuerConfig), // - make_unique(Id, "current-heap-high-watermark", Attributes::CurrentHeapHighWatermark::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "thread-metrics", Attributes::ThreadMetrics::Id, credsIssuerConfig), // - make_unique(Id, "current-heap-free", Attributes::CurrentHeapFree::Id, credsIssuerConfig), // - make_unique(Id, "current-heap-used", Attributes::CurrentHeapUsed::Id, credsIssuerConfig), // - make_unique(Id, "current-heap-high-watermark", Attributes::CurrentHeapHighWatermark::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "software-fault", Events::SoftwareFault::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "software-fault", Events::SoftwareFault::Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000010, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterSwitch(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteOccupancySensingPirUnoccupiedToOccupiedDelay : public WriteAttribute { - using namespace chip::app::Clusters::Switch; +public: + WriteOccupancySensingPirUnoccupiedToOccupiedDelay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PirUnoccupiedToOccupiedDelay", credsIssuerConfig) + { + AddArgument("attr-name", "pir-unoccupied-to-occupied-delay"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "Switch"; + ~WriteOccupancySensingPirUnoccupiedToOccupiedDelay() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "number-of-positions", Attributes::NumberOfPositions::Id, credsIssuerConfig), // - make_unique(Id, "current-position", Attributes::CurrentPosition::Id, credsIssuerConfig), // - make_unique(Id, "multi-press-max", Attributes::MultiPressMax::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "number-of-positions", Attributes::NumberOfPositions::Id, credsIssuerConfig), // - make_unique(Id, "current-position", Attributes::CurrentPosition::Id, credsIssuerConfig), // - make_unique(Id, "multi-press-max", Attributes::MultiPressMax::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "switch-latched", Events::SwitchLatched::Id, credsIssuerConfig), // - make_unique(Id, "initial-press", Events::InitialPress::Id, credsIssuerConfig), // - make_unique(Id, "long-press", Events::LongPress::Id, credsIssuerConfig), // - make_unique(Id, "short-release", Events::ShortRelease::Id, credsIssuerConfig), // - make_unique(Id, "long-release", Events::LongRelease::Id, credsIssuerConfig), // - make_unique(Id, "multi-press-ongoing", Events::MultiPressOngoing::Id, credsIssuerConfig), // - make_unique(Id, "multi-press-complete", Events::MultiPressComplete::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "switch-latched", Events::SwitchLatched::Id, credsIssuerConfig), // - make_unique(Id, "initial-press", Events::InitialPress::Id, credsIssuerConfig), // - make_unique(Id, "long-press", Events::LongPress::Id, credsIssuerConfig), // - make_unique(Id, "short-release", Events::ShortRelease::Id, credsIssuerConfig), // - make_unique(Id, "long-release", Events::LongRelease::Id, credsIssuerConfig), // - make_unique(Id, "multi-press-ongoing", Events::MultiPressOngoing::Id, credsIssuerConfig), // - make_unique(Id, "multi-press-complete", Events::MultiPressComplete::Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000011, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteOccupancySensingPirUnoccupiedToOccupiedThreshold : public WriteAttribute { - using namespace chip::app::Clusters::TargetNavigator; +public: + WriteOccupancySensingPirUnoccupiedToOccupiedThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PirUnoccupiedToOccupiedThreshold", credsIssuerConfig) + { + AddArgument("attr-name", "pir-unoccupied-to-occupied-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "TargetNavigator"; + ~WriteOccupancySensingPirUnoccupiedToOccupiedThreshold() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "target-navigator-list", Attributes::TargetNavigatorList::Id, credsIssuerConfig), // - make_unique(Id, "current-navigator-target", Attributes::CurrentNavigatorTarget::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "target-navigator-list", Attributes::TargetNavigatorList::Id, credsIssuerConfig), // - make_unique(Id, "current-navigator-target", Attributes::CurrentNavigatorTarget::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000012, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint8_t mValue; +}; + +class WriteOccupancySensingUltrasonicOccupiedToUnoccupiedDelay : public WriteAttribute { - using namespace chip::app::Clusters::TemperatureMeasurement; +public: + WriteOccupancySensingUltrasonicOccupiedToUnoccupiedDelay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("UltrasonicOccupiedToUnoccupiedDelay", credsIssuerConfig) + { + AddArgument("attr-name", "ultrasonic-occupied-to-unoccupied-delay"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "TemperatureMeasurement"; + ~WriteOccupancySensingUltrasonicOccupiedToUnoccupiedDelay() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000020, mValue); + } - commands.Register(clusterName, clusterCommands); -} -void registerClusterTestCluster(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +private: + uint16_t mValue; +}; + +class WriteOccupancySensingUltrasonicUnoccupiedToOccupiedDelay : public WriteAttribute { - using namespace chip::app::Clusters::TestCluster; +public: + WriteOccupancySensingUltrasonicUnoccupiedToOccupiedDelay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("UltrasonicUnoccupiedToOccupiedDelay", credsIssuerConfig) + { + AddArgument("attr-name", "ultrasonic-unoccupied-to-occupied-delay"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } - const char * clusterName = "TestCluster"; + ~WriteOccupancySensingUltrasonicUnoccupiedToOccupiedDelay() {} - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000021, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteOccupancySensingUltrasonicUnoccupiedToOccupiedThreshold : public WriteAttribute +{ +public: + WriteOccupancySensingUltrasonicUnoccupiedToOccupiedThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("UltrasonicUnoccupiedToOccupiedThreshold", credsIssuerConfig) + { + AddArgument("attr-name", "ultrasonic-unoccupied-to-occupied-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteOccupancySensingUltrasonicUnoccupiedToOccupiedThreshold() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000022, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteOccupancySensingPhysicalContactOccupiedToUnoccupiedDelay : public WriteAttribute +{ +public: + WriteOccupancySensingPhysicalContactOccupiedToUnoccupiedDelay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PhysicalContactOccupiedToUnoccupiedDelay", credsIssuerConfig) + { + AddArgument("attr-name", "physical-contact-occupied-to-unoccupied-delay"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteOccupancySensingPhysicalContactOccupiedToUnoccupiedDelay() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000030, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteOccupancySensingPhysicalContactUnoccupiedToOccupiedDelay : public WriteAttribute +{ +public: + WriteOccupancySensingPhysicalContactUnoccupiedToOccupiedDelay(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PhysicalContactUnoccupiedToOccupiedDelay", credsIssuerConfig) + { + AddArgument("attr-name", "physical-contact-unoccupied-to-occupied-delay"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteOccupancySensingPhysicalContactUnoccupiedToOccupiedDelay() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000031, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteOccupancySensingPhysicalContactUnoccupiedToOccupiedThreshold : public WriteAttribute +{ +public: + WriteOccupancySensingPhysicalContactUnoccupiedToOccupiedThreshold(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("PhysicalContactUnoccupiedToOccupiedThreshold", credsIssuerConfig) + { + AddArgument("attr-name", "physical-contact-unoccupied-to-occupied-threshold"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteOccupancySensingPhysicalContactUnoccupiedToOccupiedThreshold() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000406, 0x00000032, mValue); + } + +private: + uint8_t mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster CarbonMonoxideConcentrationMeasurement | 0x040C | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster CarbonDioxideConcentrationMeasurement | 0x040D | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster EthyleneConcentrationMeasurement | 0x040E | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster EthyleneOxideConcentrationMeasurement | 0x040F | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster HydrogenConcentrationMeasurement | 0x0410 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster HydrogenSulphideConcentrationMeasurement | 0x0411 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster NitricOxideConcentrationMeasurement | 0x0412 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster NitrogenDioxideConcentrationMeasurement | 0x0413 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster OxygenConcentrationMeasurement | 0x0414 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster OzoneConcentrationMeasurement | 0x0415 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster SulfurDioxideConcentrationMeasurement | 0x0416 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster DissolvedOxygenConcentrationMeasurement | 0x0417 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster BromateConcentrationMeasurement | 0x0418 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster ChloraminesConcentrationMeasurement | 0x0419 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster ChlorineConcentrationMeasurement | 0x041A | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster FecalColiformAndEColiConcentrationMeasurement | 0x041B | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster FluorideConcentrationMeasurement | 0x041C | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster HaloaceticAcidsConcentrationMeasurement | 0x041D | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster TotalTrihalomethanesConcentrationMeasurement | 0x041E | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster TotalColiformBacteriaConcentrationMeasurement | 0x041F | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster TurbidityConcentrationMeasurement | 0x0420 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster CopperConcentrationMeasurement | 0x0421 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster LeadConcentrationMeasurement | 0x0422 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster ManganeseConcentrationMeasurement | 0x0423 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster SulfateConcentrationMeasurement | 0x0424 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster BromodichloromethaneConcentrationMeasurement | 0x0425 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster BromoformConcentrationMeasurement | 0x0426 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster ChlorodibromomethaneConcentrationMeasurement | 0x0427 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster ChloroformConcentrationMeasurement | 0x0428 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster SodiumConcentrationMeasurement | 0x0429 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster IasZone | 0x0500 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ZoneEnrollResponse | 0x00 | +| * InitiateNormalOperationMode | 0x01 | +| * InitiateTestMode | 0x02 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ZoneState | 0x0000 | +| * ZoneType | 0x0001 | +| * ZoneStatus | 0x0002 | +| * IasCieAddress | 0x0010 | +| * ZoneId | 0x0011 | +| * NumberOfZoneSensitivityLevelsSupported | 0x0012 | +| * CurrentZoneSensitivityLevel | 0x0013 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command ZoneEnrollResponse + */ +class IasZoneZoneEnrollResponse : public ClusterCommand +{ +public: + IasZoneZoneEnrollResponse(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("zone-enroll-response", credsIssuerConfig) + { + AddArgument("EnrollResponseCode", 0, UINT8_MAX, &mRequest.enrollResponseCode); + AddArgument("ZoneId", 0, UINT8_MAX, &mRequest.zoneId); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000500) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000500, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::IasZone::Commands::ZoneEnrollResponse::Type mRequest; +}; + +/* + * Command InitiateNormalOperationMode + */ +class IasZoneInitiateNormalOperationMode : public ClusterCommand +{ +public: + IasZoneInitiateNormalOperationMode(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("initiate-normal-operation-mode", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000500) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000500, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::IasZone::Commands::InitiateNormalOperationMode::Type mRequest; +}; + +/* + * Command InitiateTestMode + */ +class IasZoneInitiateTestMode : public ClusterCommand +{ +public: + IasZoneInitiateTestMode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("initiate-test-mode", credsIssuerConfig) + { + AddArgument("TestModeDuration", 0, UINT8_MAX, &mRequest.testModeDuration); + AddArgument("CurrentZoneSensitivityLevel", 0, UINT8_MAX, &mRequest.currentZoneSensitivityLevel); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000500) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000500, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::IasZone::Commands::InitiateTestMode::Type mRequest; +}; + +class WriteIasZoneIasCieAddress : public WriteAttribute +{ +public: + WriteIasZoneIasCieAddress(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("IasCieAddress", credsIssuerConfig) + { + AddArgument("attr-name", "ias-cie-address"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteIasZoneIasCieAddress() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000500, 0x00000010, mValue); + } + +private: + chip::NodeId mValue; +}; + +class WriteIasZoneCurrentZoneSensitivityLevel : public WriteAttribute +{ +public: + WriteIasZoneCurrentZoneSensitivityLevel(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("CurrentZoneSensitivityLevel", credsIssuerConfig) + { + AddArgument("attr-name", "current-zone-sensitivity-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteIasZoneCurrentZoneSensitivityLevel() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000500, 0x00000013, mValue); + } + +private: + uint8_t mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster IasAce | 0x0501 | +|------------------------------------------------------------------------------| +| Commands: | | +| * Arm | 0x00 | +| * Bypass | 0x01 | +| * Emergency | 0x02 | +| * Fire | 0x03 | +| * Panic | 0x04 | +| * GetZoneIdMap | 0x05 | +| * GetZoneInformation | 0x06 | +| * GetPanelStatus | 0x07 | +| * GetBypassedZoneList | 0x08 | +| * GetZoneStatus | 0x09 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command Arm + */ +class IasAceArm : public ClusterCommand +{ +public: + IasAceArm(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("arm", credsIssuerConfig) + { + AddArgument("ArmMode", 0, UINT8_MAX, &mRequest.armMode); + AddArgument("ArmDisarmCode", &mRequest.armDisarmCode); + AddArgument("ZoneId", 0, UINT8_MAX, &mRequest.zoneId); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::Arm::Type mRequest; +}; + +/* + * Command Bypass + */ +class IasAceBypass : public ClusterCommand +{ +public: + IasAceBypass(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("bypass", credsIssuerConfig), mComplex_ZoneIds(&mRequest.zoneIds) + { + AddArgument("NumberOfZones", 0, UINT8_MAX, &mRequest.numberOfZones); + AddArgument("ZoneIds", &mComplex_ZoneIds); + AddArgument("ArmDisarmCode", &mRequest.armDisarmCode); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::Bypass::Type mRequest; + TypedComplexArgument> mComplex_ZoneIds; +}; + +/* + * Command Emergency + */ +class IasAceEmergency : public ClusterCommand +{ +public: + IasAceEmergency(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("emergency", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::Emergency::Type mRequest; +}; + +/* + * Command Fire + */ +class IasAceFire : public ClusterCommand +{ +public: + IasAceFire(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fire", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::Fire::Type mRequest; +}; + +/* + * Command Panic + */ +class IasAcePanic : public ClusterCommand +{ +public: + IasAcePanic(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("panic", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000004, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::Panic::Type mRequest; +}; + +/* + * Command GetZoneIdMap + */ +class IasAceGetZoneIdMap : public ClusterCommand +{ +public: + IasAceGetZoneIdMap(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-zone-id-map", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000005, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::GetZoneIdMap::Type mRequest; +}; + +/* + * Command GetZoneInformation + */ +class IasAceGetZoneInformation : public ClusterCommand +{ +public: + IasAceGetZoneInformation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-zone-information", credsIssuerConfig) + { + AddArgument("ZoneId", 0, UINT8_MAX, &mRequest.zoneId); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000006) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000006, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::GetZoneInformation::Type mRequest; +}; + +/* + * Command GetPanelStatus + */ +class IasAceGetPanelStatus : public ClusterCommand +{ +public: + IasAceGetPanelStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-panel-status", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000007) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000007, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::GetPanelStatus::Type mRequest; +}; + +/* + * Command GetBypassedZoneList + */ +class IasAceGetBypassedZoneList : public ClusterCommand +{ +public: + IasAceGetBypassedZoneList(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-bypassed-zone-list", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000008) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000008, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::GetBypassedZoneList::Type mRequest; +}; + +/* + * Command GetZoneStatus + */ +class IasAceGetZoneStatus : public ClusterCommand +{ +public: + IasAceGetZoneStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-zone-status", credsIssuerConfig) + { + AddArgument("StartingZoneId", 0, UINT8_MAX, &mRequest.startingZoneId); + AddArgument("MaxNumberOfZoneIds", 0, UINT8_MAX, &mRequest.maxNumberOfZoneIds); + AddArgument("ZoneStatusMaskFlag", 0, 1, &mRequest.zoneStatusMaskFlag); + AddArgument("ZoneStatusMask", 0, UINT16_MAX, &mRequest.zoneStatusMask); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000501) command (0x00000009) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000501, 0x00000009, mRequest); + } + +private: + chip::app::Clusters::IasAce::Commands::GetZoneStatus::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster IasWd | 0x0502 | +|------------------------------------------------------------------------------| +| Commands: | | +| * StartWarning | 0x00 | +| * Squawk | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MaxDuration | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command StartWarning + */ +class IasWdStartWarning : public ClusterCommand +{ +public: + IasWdStartWarning(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-warning", credsIssuerConfig) + { + AddArgument("WarningInfo", 0, UINT8_MAX, &mRequest.warningInfo); + AddArgument("WarningDuration", 0, UINT16_MAX, &mRequest.warningDuration); + AddArgument("StrobeDutyCycle", 0, UINT8_MAX, &mRequest.strobeDutyCycle); + AddArgument("StrobeLevel", 0, UINT8_MAX, &mRequest.strobeLevel); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000502) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000502, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::IasWd::Commands::StartWarning::Type mRequest; +}; + +/* + * Command Squawk + */ +class IasWdSquawk : public ClusterCommand +{ +public: + IasWdSquawk(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("squawk", credsIssuerConfig) + { + AddArgument("SquawkInfo", 0, UINT8_MAX, &mRequest.squawkInfo); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000502) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000502, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::IasWd::Commands::Squawk::Type mRequest; +}; + +class WriteIasWdMaxDuration : public WriteAttribute +{ +public: + WriteIasWdMaxDuration(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("MaxDuration", credsIssuerConfig) + { + AddArgument("attr-name", "max-duration"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteIasWdMaxDuration() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000502, 0x00000000, mValue); + } + +private: + uint16_t mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster WakeOnLan | 0x0503 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * WakeOnLanMacAddress | 0x0000 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster Channel | 0x0504 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ChangeChannelRequest | 0x00 | +| * ChangeChannelByNumberRequest | 0x02 | +| * SkipChannelRequest | 0x03 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ChannelList | 0x0000 | +| * ChannelLineup | 0x0001 | +| * CurrentChannel | 0x0002 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command ChangeChannelRequest + */ +class ChannelChangeChannelRequest : public ClusterCommand +{ +public: + ChannelChangeChannelRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("change-channel-request", credsIssuerConfig) + { + AddArgument("Match", &mRequest.match); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000504, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::Channel::Commands::ChangeChannelRequest::Type mRequest; +}; + +/* + * Command ChangeChannelByNumberRequest + */ +class ChannelChangeChannelByNumberRequest : public ClusterCommand +{ +public: + ChannelChangeChannelByNumberRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("change-channel-by-number-request", credsIssuerConfig) + { + AddArgument("MajorNumber", 0, UINT16_MAX, &mRequest.majorNumber); + AddArgument("MinorNumber", 0, UINT16_MAX, &mRequest.minorNumber); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000504, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::Channel::Commands::ChangeChannelByNumberRequest::Type mRequest; +}; + +/* + * Command SkipChannelRequest + */ +class ChannelSkipChannelRequest : public ClusterCommand +{ +public: + ChannelSkipChannelRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("skip-channel-request", credsIssuerConfig) + { + AddArgument("Count", 0, UINT16_MAX, &mRequest.count); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000504, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::Channel::Commands::SkipChannelRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster TargetNavigator | 0x0505 | +|------------------------------------------------------------------------------| +| Commands: | | +| * NavigateTargetRequest | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * TargetNavigatorList | 0x0000 | +| * CurrentNavigatorTarget | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command NavigateTargetRequest + */ +class TargetNavigatorNavigateTargetRequest : public ClusterCommand +{ +public: + TargetNavigatorNavigateTargetRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("navigate-target-request", credsIssuerConfig) + { + AddArgument("Target", 0, UINT8_MAX, &mRequest.target); + AddArgument("Data", &mRequest.data); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000505, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::TargetNavigator::Commands::NavigateTargetRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster MediaPlayback | 0x0506 | +|------------------------------------------------------------------------------| +| Commands: | | +| * PlayRequest | 0x00 | +| * PauseRequest | 0x01 | +| * StopRequest | 0x02 | +| * StartOverRequest | 0x03 | +| * PreviousRequest | 0x04 | +| * NextRequest | 0x05 | +| * RewindRequest | 0x06 | +| * FastForwardRequest | 0x07 | +| * SkipForwardRequest | 0x08 | +| * SkipBackwardRequest | 0x09 | +| * SeekRequest | 0x0B | +|------------------------------------------------------------------------------| +| Attributes: | | +| * PlaybackState | 0x0000 | +| * StartTime | 0x0001 | +| * Duration | 0x0002 | +| * Position | 0x0003 | +| * PlaybackSpeed | 0x0004 | +| * SeekRangeEnd | 0x0005 | +| * SeekRangeStart | 0x0006 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command PlayRequest + */ +class MediaPlaybackPlayRequest : public ClusterCommand +{ +public: + MediaPlaybackPlayRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("play-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::PlayRequest::Type mRequest; +}; + +/* + * Command PauseRequest + */ +class MediaPlaybackPauseRequest : public ClusterCommand +{ +public: + MediaPlaybackPauseRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::PauseRequest::Type mRequest; +}; + +/* + * Command StopRequest + */ +class MediaPlaybackStopRequest : public ClusterCommand +{ +public: + MediaPlaybackStopRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::StopRequest::Type mRequest; +}; + +/* + * Command StartOverRequest + */ +class MediaPlaybackStartOverRequest : public ClusterCommand +{ +public: + MediaPlaybackStartOverRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("start-over-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::StartOverRequest::Type mRequest; +}; + +/* + * Command PreviousRequest + */ +class MediaPlaybackPreviousRequest : public ClusterCommand +{ +public: + MediaPlaybackPreviousRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("previous-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000004, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::PreviousRequest::Type mRequest; +}; + +/* + * Command NextRequest + */ +class MediaPlaybackNextRequest : public ClusterCommand +{ +public: + MediaPlaybackNextRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("next-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000005, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::NextRequest::Type mRequest; +}; + +/* + * Command RewindRequest + */ +class MediaPlaybackRewindRequest : public ClusterCommand +{ +public: + MediaPlaybackRewindRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rewind-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000006, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::RewindRequest::Type mRequest; +}; + +/* + * Command FastForwardRequest + */ +class MediaPlaybackFastForwardRequest : public ClusterCommand +{ +public: + MediaPlaybackFastForwardRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("fast-forward-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000007, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::FastForwardRequest::Type mRequest; +}; + +/* + * Command SkipForwardRequest + */ +class MediaPlaybackSkipForwardRequest : public ClusterCommand +{ +public: + MediaPlaybackSkipForwardRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("skip-forward-request", credsIssuerConfig) + { + AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000008, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::SkipForwardRequest::Type mRequest; +}; + +/* + * Command SkipBackwardRequest + */ +class MediaPlaybackSkipBackwardRequest : public ClusterCommand +{ +public: + MediaPlaybackSkipBackwardRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("skip-backward-request", credsIssuerConfig) + { + AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x00000009, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::SkipBackwardRequest::Type mRequest; +}; + +/* + * Command SeekRequest + */ +class MediaPlaybackSeekRequest : public ClusterCommand +{ +public: + MediaPlaybackSeekRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("seek-request", credsIssuerConfig) + { + AddArgument("Position", 0, UINT64_MAX, &mRequest.position); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000506, 0x0000000B, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::SeekRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster MediaInput | 0x0507 | +|------------------------------------------------------------------------------| +| Commands: | | +| * SelectInputRequest | 0x00 | +| * ShowInputStatusRequest | 0x01 | +| * HideInputStatusRequest | 0x02 | +| * RenameInputRequest | 0x03 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MediaInputList | 0x0000 | +| * CurrentMediaInput | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command SelectInputRequest + */ +class MediaInputSelectInputRequest : public ClusterCommand +{ +public: + MediaInputSelectInputRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("select-input-request", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::SelectInputRequest::Type mRequest; +}; + +/* + * Command ShowInputStatusRequest + */ +class MediaInputShowInputStatusRequest : public ClusterCommand +{ +public: + MediaInputShowInputStatusRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("show-input-status-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::ShowInputStatusRequest::Type mRequest; +}; + +/* + * Command HideInputStatusRequest + */ +class MediaInputHideInputStatusRequest : public ClusterCommand +{ +public: + MediaInputHideInputStatusRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("hide-input-status-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::HideInputStatusRequest::Type mRequest; +}; + +/* + * Command RenameInputRequest + */ +class MediaInputRenameInputRequest : public ClusterCommand +{ +public: + MediaInputRenameInputRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("rename-input-request", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + AddArgument("Name", &mRequest.name); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000507, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::RenameInputRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster LowPower | 0x0508 | +|------------------------------------------------------------------------------| +| Commands: | | +| * Sleep | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command Sleep + */ +class LowPowerSleep : public ClusterCommand +{ +public: + LowPowerSleep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("sleep", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000508, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::LowPower::Commands::Sleep::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster KeypadInput | 0x0509 | +|------------------------------------------------------------------------------| +| Commands: | | +| * SendKeyRequest | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command SendKeyRequest + */ +class KeypadInputSendKeyRequest : public ClusterCommand +{ +public: + KeypadInputSendKeyRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("send-key-request", credsIssuerConfig) + { + AddArgument("KeyCode", 0, UINT8_MAX, &mRequest.keyCode); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000509, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::KeypadInput::Commands::SendKeyRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ContentLauncher | 0x050A | +|------------------------------------------------------------------------------| +| Commands: | | +| * LaunchContentRequest | 0x00 | +| * LaunchURLRequest | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * AcceptHeaderList | 0x0000 | +| * SupportedStreamingProtocols | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command LaunchContentRequest + */ +class ContentLauncherLaunchContentRequest : public ClusterCommand +{ +public: + ContentLauncherLaunchContentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("launch-content-request", credsIssuerConfig), mComplex_Search(&mRequest.search) + { + AddArgument("Search", &mComplex_Search); + AddArgument("AutoPlay", 0, 1, &mRequest.autoPlay); + AddArgument("Data", &mRequest.data); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050A, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::ContentLauncher::Commands::LaunchContentRequest::Type mRequest; + TypedComplexArgument mComplex_Search; +}; + +/* + * Command LaunchURLRequest + */ +class ContentLauncherLaunchURLRequest : public ClusterCommand +{ +public: + ContentLauncherLaunchURLRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("launch-urlrequest", credsIssuerConfig), mComplex_BrandingInformation(&mRequest.brandingInformation) + { + AddArgument("ContentURL", &mRequest.contentURL); + AddArgument("DisplayString", &mRequest.displayString); + AddArgument("BrandingInformation", &mComplex_BrandingInformation); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050A, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::ContentLauncher::Commands::LaunchURLRequest::Type mRequest; + TypedComplexArgument> + mComplex_BrandingInformation; +}; + +class WriteContentLauncherSupportedStreamingProtocols : public WriteAttribute +{ +public: + WriteContentLauncherSupportedStreamingProtocols(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("SupportedStreamingProtocols", credsIssuerConfig) + { + AddArgument("attr-name", "supported-streaming-protocols"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteContentLauncherSupportedStreamingProtocols() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050A, 0x00000001, mValue); + } + +private: + uint32_t mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster AudioOutput | 0x050B | +|------------------------------------------------------------------------------| +| Commands: | | +| * SelectOutputRequest | 0x00 | +| * RenameOutputRequest | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * AudioOutputList | 0x0000 | +| * CurrentAudioOutput | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command SelectOutputRequest + */ +class AudioOutputSelectOutputRequest : public ClusterCommand +{ +public: + AudioOutputSelectOutputRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("select-output-request", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050B, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::AudioOutput::Commands::SelectOutputRequest::Type mRequest; +}; + +/* + * Command RenameOutputRequest + */ +class AudioOutputRenameOutputRequest : public ClusterCommand +{ +public: + AudioOutputRenameOutputRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("rename-output-request", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + AddArgument("Name", &mRequest.name); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050B, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::AudioOutput::Commands::RenameOutputRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ApplicationLauncher | 0x050C | +|------------------------------------------------------------------------------| +| Commands: | | +| * LaunchAppRequest | 0x00 | +| * StopAppRequest | 0x01 | +| * HideAppRequest | 0x02 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ApplicationLauncherList | 0x0000 | +| * ApplicationLauncherApp | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command LaunchAppRequest + */ +class ApplicationLauncherLaunchAppRequest : public ClusterCommand +{ +public: + ApplicationLauncherLaunchAppRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("launch-app-request", credsIssuerConfig), mComplex_Application(&mRequest.application) + { + AddArgument("Application", &mComplex_Application); + AddArgument("Data", &mRequest.data); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050C, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::ApplicationLauncher::Commands::LaunchAppRequest::Type mRequest; + TypedComplexArgument mComplex_Application; +}; + +/* + * Command StopAppRequest + */ +class ApplicationLauncherStopAppRequest : public ClusterCommand +{ +public: + ApplicationLauncherStopAppRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("stop-app-request", credsIssuerConfig), mComplex_Application(&mRequest.application) + { + AddArgument("Application", &mComplex_Application); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050C, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::ApplicationLauncher::Commands::StopAppRequest::Type mRequest; + TypedComplexArgument mComplex_Application; +}; + +/* + * Command HideAppRequest + */ +class ApplicationLauncherHideAppRequest : public ClusterCommand +{ +public: + ApplicationLauncherHideAppRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("hide-app-request", credsIssuerConfig), mComplex_Application(&mRequest.application) + { + AddArgument("Application", &mComplex_Application); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050C, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::ApplicationLauncher::Commands::HideAppRequest::Type mRequest; + TypedComplexArgument mComplex_Application; +}; + +class WriteApplicationLauncherApplicationLauncherApp : public WriteAttribute +{ +public: + WriteApplicationLauncherApplicationLauncherApp(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ApplicationLauncherApp", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "application-launcher-app"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteApplicationLauncherApplicationLauncherApp() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050C, 0x00000001, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; + TypedComplexArgument> + mComplex; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ApplicationBasic | 0x050D | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * VendorName | 0x0000 | +| * VendorId | 0x0001 | +| * ApplicationName | 0x0002 | +| * ProductId | 0x0003 | +| * ApplicationApp | 0x0004 | +| * ApplicationStatus | 0x0005 | +| * ApplicationVersion | 0x0006 | +| * AllowedVendorList | 0x0007 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster AccountLogin | 0x050E | +|------------------------------------------------------------------------------| +| Commands: | | +| * GetSetupPINRequest | 0x00 | +| * LoginRequest | 0x02 | +| * LogoutRequest | 0x03 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command GetSetupPINRequest + */ +class AccountLoginGetSetupPINRequest : public ClusterCommand +{ +public: + AccountLoginGetSetupPINRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-setup-pinrequest", credsIssuerConfig) + { + AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050E, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::AccountLogin::Commands::GetSetupPINRequest::Type mRequest; +}; + +/* + * Command LoginRequest + */ +class AccountLoginLoginRequest : public ClusterCommand +{ +public: + AccountLoginLoginRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("login-request", credsIssuerConfig) + { + AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); + AddArgument("SetupPIN", &mRequest.setupPIN); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050E, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::AccountLogin::Commands::LoginRequest::Type mRequest; +}; + +/* + * Command LogoutRequest + */ +class AccountLoginLogoutRequest : public ClusterCommand +{ +public: + AccountLoginLogoutRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("logout-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050E, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::AccountLogin::Commands::LogoutRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster TestCluster | 0x050F | +|------------------------------------------------------------------------------| +| Commands: | | +| * Test | 0x00 | +| * TestNotHandled | 0x01 | +| * TestSpecific | 0x02 | +| * TestUnknownCommand | 0x03 | +| * TestAddArguments | 0x04 | +| * TestSimpleArgumentRequest | 0x05 | +| * TestStructArrayArgumentRequest | 0x06 | +| * TestStructArgumentRequest | 0x07 | +| * TestNestedStructArgumentRequest | 0x08 | +| * TestListStructArgumentRequest | 0x09 | +| * TestListInt8UArgumentRequest | 0x0A | +| * TestNestedStructListArgumentRequest | 0x0B | +| * TestListNestedStructListArgumentRequest | 0x0C | +| * TestListInt8UReverseRequest | 0x0D | +| * TestEnumsRequest | 0x0E | +| * TestNullableOptionalRequest | 0x0F | +| * TestComplexNullableOptionalRequest | 0x10 | +| * SimpleStructEchoRequest | 0x11 | +| * TimedInvokeRequest | 0x12 | +| * TestSimpleOptionalArgumentRequest | 0x13 | +| * TestEmitTestEventRequest | 0x14 | +| * TestEmitTestFabricScopedEventRequest | 0x15 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Boolean | 0x0000 | +| * Bitmap8 | 0x0001 | +| * Bitmap16 | 0x0002 | +| * Bitmap32 | 0x0003 | +| * Bitmap64 | 0x0004 | +| * Int8u | 0x0005 | +| * Int16u | 0x0006 | +| * Int24u | 0x0007 | +| * Int32u | 0x0008 | +| * Int40u | 0x0009 | +| * Int48u | 0x000A | +| * Int56u | 0x000B | +| * Int64u | 0x000C | +| * Int8s | 0x000D | +| * Int16s | 0x000E | +| * Int24s | 0x000F | +| * Int32s | 0x0010 | +| * Int40s | 0x0011 | +| * Int48s | 0x0012 | +| * Int56s | 0x0013 | +| * Int64s | 0x0014 | +| * Enum8 | 0x0015 | +| * Enum16 | 0x0016 | +| * FloatSingle | 0x0017 | +| * FloatDouble | 0x0018 | +| * OctetString | 0x0019 | +| * ListInt8u | 0x001A | +| * ListOctetString | 0x001B | +| * ListStructOctetString | 0x001C | +| * LongOctetString | 0x001D | +| * CharString | 0x001E | +| * LongCharString | 0x001F | +| * EpochUs | 0x0020 | +| * EpochS | 0x0021 | +| * VendorId | 0x0022 | +| * ListNullablesAndOptionalsStruct | 0x0023 | +| * EnumAttr | 0x0024 | +| * StructAttr | 0x0025 | +| * RangeRestrictedInt8u | 0x0026 | +| * RangeRestrictedInt8s | 0x0027 | +| * RangeRestrictedInt16u | 0x0028 | +| * RangeRestrictedInt16s | 0x0029 | +| * ListLongOctetString | 0x002A | +| * ListFabricScoped | 0x002B | +| * TimedWriteBoolean | 0x0030 | +| * GeneralErrorBoolean | 0x0031 | +| * ClusterErrorBoolean | 0x0032 | +| * Unsupported | 0x00FF | +| * NullableBoolean | 0x8000 | +| * NullableBitmap8 | 0x8001 | +| * NullableBitmap16 | 0x8002 | +| * NullableBitmap32 | 0x8003 | +| * NullableBitmap64 | 0x8004 | +| * NullableInt8u | 0x8005 | +| * NullableInt16u | 0x8006 | +| * NullableInt24u | 0x8007 | +| * NullableInt32u | 0x8008 | +| * NullableInt40u | 0x8009 | +| * NullableInt48u | 0x800A | +| * NullableInt56u | 0x800B | +| * NullableInt64u | 0x800C | +| * NullableInt8s | 0x800D | +| * NullableInt16s | 0x800E | +| * NullableInt24s | 0x800F | +| * NullableInt32s | 0x8010 | +| * NullableInt40s | 0x8011 | +| * NullableInt48s | 0x8012 | +| * NullableInt56s | 0x8013 | +| * NullableInt64s | 0x8014 | +| * NullableEnum8 | 0x8015 | +| * NullableEnum16 | 0x8016 | +| * NullableFloatSingle | 0x8017 | +| * NullableFloatDouble | 0x8018 | +| * NullableOctetString | 0x8019 | +| * NullableCharString | 0x801E | +| * NullableEnumAttr | 0x8024 | +| * NullableStruct | 0x8025 | +| * NullableRangeRestrictedInt8u | 0x8026 | +| * NullableRangeRestrictedInt8s | 0x8027 | +| * NullableRangeRestrictedInt16u | 0x8028 | +| * NullableRangeRestrictedInt16s | 0x8029 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * TestEvent | 0x0001 | +| * TestFabricScopedEvent | 0x0002 | +\*----------------------------------------------------------------------------*/ + +/* + * Command Test + */ +class TestClusterTest : public ClusterCommand +{ +public: + TestClusterTest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::Test::Type mRequest; +}; + +/* + * Command TestNotHandled + */ +class TestClusterTestNotHandled : public ClusterCommand +{ +public: + TestClusterTestNotHandled(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-not-handled", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestNotHandled::Type mRequest; +}; + +/* + * Command TestSpecific + */ +class TestClusterTestSpecific : public ClusterCommand +{ +public: + TestClusterTestSpecific(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-specific", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestSpecific::Type mRequest; +}; + +/* + * Command TestUnknownCommand + */ +class TestClusterTestUnknownCommand : public ClusterCommand +{ +public: + TestClusterTestUnknownCommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-unknown-command", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000003) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestUnknownCommand::Type mRequest; +}; + +/* + * Command TestAddArguments + */ +class TestClusterTestAddArguments : public ClusterCommand +{ +public: + TestClusterTestAddArguments(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-add-arguments", credsIssuerConfig) + { + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000004) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000004, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestAddArguments::Type mRequest; +}; + +/* + * Command TestSimpleArgumentRequest + */ +class TestClusterTestSimpleArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestSimpleArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-simple-argument-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, 1, &mRequest.arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000005) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000005, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestSimpleArgumentRequest::Type mRequest; +}; + +/* + * Command TestStructArrayArgumentRequest + */ +class TestClusterTestStructArrayArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestStructArrayArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-struct-array-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1), + mComplex_Arg2(&mRequest.arg2), mComplex_Arg3(&mRequest.arg3), mComplex_Arg4(&mRequest.arg4) + { + AddArgument("Arg1", &mComplex_Arg1); + AddArgument("Arg2", &mComplex_Arg2); + AddArgument("Arg3", &mComplex_Arg3); + AddArgument("Arg4", &mComplex_Arg4); + AddArgument("Arg5", 0, UINT8_MAX, &mRequest.arg5); + AddArgument("Arg6", 0, 1, &mRequest.arg6); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000006) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000006, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestStructArrayArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; + TypedComplexArgument> + mComplex_Arg2; + TypedComplexArgument> mComplex_Arg3; + TypedComplexArgument> mComplex_Arg4; +}; + +/* + * Command TestStructArgumentRequest + */ +class TestClusterTestStructArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000007) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000007, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestStructArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TestNestedStructArgumentRequest + */ +class TestClusterTestNestedStructArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestNestedStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-nested-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000008) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000008, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestNestedStructArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TestListStructArgumentRequest + */ +class TestClusterTestListStructArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestListStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000009) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000009, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestListStructArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; +}; + +/* + * Command TestListInt8UArgumentRequest + */ +class TestClusterTestListInt8UArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestListInt8UArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-int8uargument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000A) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000A, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type mRequest; + TypedComplexArgument> mComplex_Arg1; +}; + +/* + * Command TestNestedStructListArgumentRequest + */ +class TestClusterTestNestedStructListArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000B) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000B, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestNestedStructListArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TestListNestedStructListArgumentRequest + */ +class TestClusterTestListNestedStructListArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestListNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000C) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000C, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestListNestedStructListArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; +}; + +/* + * Command TestListInt8UReverseRequest + */ +class TestClusterTestListInt8UReverseRequest : public ClusterCommand +{ +public: + TestClusterTestListInt8UReverseRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-int8ureverse-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000D) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000D, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::Type mRequest; + TypedComplexArgument> mComplex_Arg1; +}; + +/* + * Command TestEnumsRequest + */ +class TestClusterTestEnumsRequest : public ClusterCommand +{ +public: + TestClusterTestEnumsRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-enums-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, UINT16_MAX, &mRequest.arg1); + AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000E) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000E, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type mRequest; +}; + +/* + * Command TestNullableOptionalRequest + */ +class TestClusterTestNullableOptionalRequest : public ClusterCommand +{ +public: + TestClusterTestNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-nullable-optional-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000F) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x0000000F, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestNullableOptionalRequest::Type mRequest; +}; + +/* + * Command TestComplexNullableOptionalRequest + */ +class TestClusterTestComplexNullableOptionalRequest : public ClusterCommand +{ +public: + TestClusterTestComplexNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-complex-nullable-optional-request", credsIssuerConfig), + mComplex_NullableStruct(&mRequest.nullableStruct), mComplex_OptionalStruct(&mRequest.optionalStruct), + mComplex_NullableOptionalStruct(&mRequest.nullableOptionalStruct), mComplex_NullableList(&mRequest.nullableList), + mComplex_OptionalList(&mRequest.optionalList), mComplex_NullableOptionalList(&mRequest.nullableOptionalList) + { + AddArgument("NullableInt", 0, UINT16_MAX, &mRequest.nullableInt); + AddArgument("OptionalInt", 0, UINT16_MAX, &mRequest.optionalInt); + AddArgument("NullableOptionalInt", 0, UINT16_MAX, &mRequest.nullableOptionalInt); + AddArgument("NullableString", &mRequest.nullableString); + AddArgument("OptionalString", &mRequest.optionalString); + AddArgument("NullableOptionalString", &mRequest.nullableOptionalString); + AddArgument("NullableStruct", &mComplex_NullableStruct); + AddArgument("OptionalStruct", &mComplex_OptionalStruct); + AddArgument("NullableOptionalStruct", &mComplex_NullableOptionalStruct); + AddArgument("NullableList", &mComplex_NullableList); + AddArgument("OptionalList", &mComplex_OptionalList); + AddArgument("NullableOptionalList", &mComplex_NullableOptionalList); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000010) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000010, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestComplexNullableOptionalRequest::Type mRequest; + TypedComplexArgument> + mComplex_NullableStruct; + TypedComplexArgument> mComplex_OptionalStruct; + TypedComplexArgument< + chip::Optional>> + mComplex_NullableOptionalStruct; + TypedComplexArgument< + chip::app::DataModel::Nullable>> + mComplex_NullableList; + TypedComplexArgument>> + mComplex_OptionalList; + TypedComplexArgument>>> + mComplex_NullableOptionalList; +}; + +/* + * Command SimpleStructEchoRequest + */ +class TestClusterSimpleStructEchoRequest : public ClusterCommand +{ +public: + TestClusterSimpleStructEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("simple-struct-echo-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + { + AddArgument("Arg1", &mComplex_Arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000011) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000011, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::SimpleStructEchoRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TimedInvokeRequest + */ +class TestClusterTimedInvokeRequest : public ClusterCommand +{ +public: + TestClusterTimedInvokeRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("timed-invoke-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000012) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000012, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TimedInvokeRequest::Type mRequest; +}; + +/* + * Command TestSimpleOptionalArgumentRequest + */ +class TestClusterTestSimpleOptionalArgumentRequest : public ClusterCommand +{ +public: + TestClusterTestSimpleOptionalArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-simple-optional-argument-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, 1, &mRequest.arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000013) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000013, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type mRequest; +}; + +/* + * Command TestEmitTestEventRequest + */ +class TestClusterTestEmitTestEventRequest : public ClusterCommand +{ +public: + TestClusterTestEmitTestEventRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-emit-test-event-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + AddArgument("Arg3", 0, 1, &mRequest.arg3); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000014) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000014, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestEmitTestEventRequest::Type mRequest; +}; + +/* + * Command TestEmitTestFabricScopedEventRequest + */ +class TestClusterTestEmitTestFabricScopedEventRequest : public ClusterCommand +{ +public: + TestClusterTestEmitTestFabricScopedEventRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-emit-test-fabric-scoped-event-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x00000015) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x0000050F, 0x00000015, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestEmitTestFabricScopedEventRequest::Type mRequest; +}; + +class WriteTestClusterBoolean : public WriteAttribute +{ +public: + WriteTestClusterBoolean(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Boolean", credsIssuerConfig) + { + AddArgument("attr-name", "boolean"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterBoolean() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000000, mValue); + } + +private: + bool mValue; +}; + +class WriteTestClusterBitmap8 : public WriteAttribute +{ +public: + WriteTestClusterBitmap8(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap8", credsIssuerConfig) + { + AddArgument("attr-name", "bitmap8"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterBitmap8() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000001, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteTestClusterBitmap16 : public WriteAttribute +{ +public: + WriteTestClusterBitmap16(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap16", credsIssuerConfig) + { + AddArgument("attr-name", "bitmap16"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterBitmap16() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000002, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteTestClusterBitmap32 : public WriteAttribute +{ +public: + WriteTestClusterBitmap32(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap32", credsIssuerConfig) + { + AddArgument("attr-name", "bitmap32"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterBitmap32() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000003, mValue); + } + +private: + uint32_t mValue; +}; + +class WriteTestClusterBitmap64 : public WriteAttribute +{ +public: + WriteTestClusterBitmap64(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Bitmap64", credsIssuerConfig) + { + AddArgument("attr-name", "bitmap64"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterBitmap64() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000004, mValue); + } + +private: + uint64_t mValue; +}; + +class WriteTestClusterInt8u : public WriteAttribute +{ +public: + WriteTestClusterInt8u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int8u", credsIssuerConfig) + { + AddArgument("attr-name", "int8u"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt8u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000005, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteTestClusterInt16u : public WriteAttribute +{ +public: + WriteTestClusterInt16u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int16u", credsIssuerConfig) + { + AddArgument("attr-name", "int16u"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt16u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000006, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteTestClusterInt24u : public WriteAttribute +{ +public: + WriteTestClusterInt24u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int24u", credsIssuerConfig) + { + AddArgument("attr-name", "int24u"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt24u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000007, mValue); + } + +private: + uint32_t mValue; +}; + +class WriteTestClusterInt32u : public WriteAttribute +{ +public: + WriteTestClusterInt32u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int32u", credsIssuerConfig) + { + AddArgument("attr-name", "int32u"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt32u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000008, mValue); + } + +private: + uint32_t mValue; +}; + +class WriteTestClusterInt40u : public WriteAttribute +{ +public: + WriteTestClusterInt40u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int40u", credsIssuerConfig) + { + AddArgument("attr-name", "int40u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt40u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000009, mValue); + } + +private: + uint64_t mValue; +}; + +class WriteTestClusterInt48u : public WriteAttribute +{ +public: + WriteTestClusterInt48u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int48u", credsIssuerConfig) + { + AddArgument("attr-name", "int48u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt48u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000A, mValue); + } + +private: + uint64_t mValue; +}; + +class WriteTestClusterInt56u : public WriteAttribute +{ +public: + WriteTestClusterInt56u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int56u", credsIssuerConfig) + { + AddArgument("attr-name", "int56u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt56u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000B, mValue); + } + +private: + uint64_t mValue; +}; + +class WriteTestClusterInt64u : public WriteAttribute +{ +public: + WriteTestClusterInt64u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int64u", credsIssuerConfig) + { + AddArgument("attr-name", "int64u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt64u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000C, mValue); + } + +private: + uint64_t mValue; +}; + +class WriteTestClusterInt8s : public WriteAttribute +{ +public: + WriteTestClusterInt8s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int8s", credsIssuerConfig) + { + AddArgument("attr-name", "int8s"); + AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt8s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000D, mValue); + } + +private: + int8_t mValue; +}; + +class WriteTestClusterInt16s : public WriteAttribute +{ +public: + WriteTestClusterInt16s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int16s", credsIssuerConfig) + { + AddArgument("attr-name", "int16s"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt16s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000E, mValue); + } + +private: + int16_t mValue; +}; + +class WriteTestClusterInt24s : public WriteAttribute +{ +public: + WriteTestClusterInt24s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int24s", credsIssuerConfig) + { + AddArgument("attr-name", "int24s"); + AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt24s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000000F, mValue); + } + +private: + int32_t mValue; +}; + +class WriteTestClusterInt32s : public WriteAttribute +{ +public: + WriteTestClusterInt32s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int32s", credsIssuerConfig) + { + AddArgument("attr-name", "int32s"); + AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt32s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000010, mValue); + } + +private: + int32_t mValue; +}; + +class WriteTestClusterInt40s : public WriteAttribute +{ +public: + WriteTestClusterInt40s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int40s", credsIssuerConfig) + { + AddArgument("attr-name", "int40s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt40s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000011, mValue); + } + +private: + int64_t mValue; +}; + +class WriteTestClusterInt48s : public WriteAttribute +{ +public: + WriteTestClusterInt48s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int48s", credsIssuerConfig) + { + AddArgument("attr-name", "int48s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt48s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000012, mValue); + } + +private: + int64_t mValue; +}; + +class WriteTestClusterInt56s : public WriteAttribute +{ +public: + WriteTestClusterInt56s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int56s", credsIssuerConfig) + { + AddArgument("attr-name", "int56s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt56s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000013, mValue); + } + +private: + int64_t mValue; +}; + +class WriteTestClusterInt64s : public WriteAttribute +{ +public: + WriteTestClusterInt64s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Int64s", credsIssuerConfig) + { + AddArgument("attr-name", "int64s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterInt64s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000014, mValue); + } + +private: + int64_t mValue; +}; + +class WriteTestClusterEnum8 : public WriteAttribute +{ +public: + WriteTestClusterEnum8(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Enum8", credsIssuerConfig) + { + AddArgument("attr-name", "enum8"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterEnum8() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000015, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteTestClusterEnum16 : public WriteAttribute +{ +public: + WriteTestClusterEnum16(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Enum16", credsIssuerConfig) + { + AddArgument("attr-name", "enum16"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterEnum16() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000016, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteTestClusterFloatSingle : public WriteAttribute +{ +public: + WriteTestClusterFloatSingle(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("FloatSingle", credsIssuerConfig) + { + AddArgument("attr-name", "float-single"); + AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterFloatSingle() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000017, mValue); + } + +private: + float mValue; +}; + +class WriteTestClusterFloatDouble : public WriteAttribute +{ +public: + WriteTestClusterFloatDouble(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("FloatDouble", credsIssuerConfig) + { + AddArgument("attr-name", "float-double"); + AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterFloatDouble() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000018, mValue); + } + +private: + double mValue; +}; + +class WriteTestClusterOctetString : public WriteAttribute +{ +public: + WriteTestClusterOctetString(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("OctetString", credsIssuerConfig) + { + AddArgument("attr-name", "octet-string"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterOctetString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000019, mValue); + } + +private: + chip::ByteSpan mValue; +}; + +class WriteTestClusterListInt8u : public WriteAttribute +{ +public: + WriteTestClusterListInt8u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ListInt8u", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "list-int8u"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterListInt8u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001A, mValue); + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; +}; + +class WriteTestClusterListOctetString : public WriteAttribute +{ +public: + WriteTestClusterListOctetString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ListOctetString", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "list-octet-string"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterListOctetString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001B, mValue); + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; +}; + +class WriteTestClusterListStructOctetString : public WriteAttribute +{ +public: + WriteTestClusterListStructOctetString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ListStructOctetString", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "list-struct-octet-string"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterListStructOctetString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001C, mValue); + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> + mComplex; +}; + +class WriteTestClusterLongOctetString : public WriteAttribute +{ +public: + WriteTestClusterLongOctetString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LongOctetString", credsIssuerConfig) + { + AddArgument("attr-name", "long-octet-string"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterLongOctetString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001D, mValue); + } + +private: + chip::ByteSpan mValue; +}; + +class WriteTestClusterCharString : public WriteAttribute +{ +public: + WriteTestClusterCharString(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("CharString", credsIssuerConfig) + { + AddArgument("attr-name", "char-string"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterCharString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001E, mValue); + } + +private: + chip::CharSpan mValue; +}; + +class WriteTestClusterLongCharString : public WriteAttribute +{ +public: + WriteTestClusterLongCharString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("LongCharString", credsIssuerConfig) + { + AddArgument("attr-name", "long-char-string"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterLongCharString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000001F, mValue); + } + +private: + chip::CharSpan mValue; +}; + +class WriteTestClusterEpochUs : public WriteAttribute +{ +public: + WriteTestClusterEpochUs(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EpochUs", credsIssuerConfig) + { + AddArgument("attr-name", "epoch-us"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterEpochUs() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000020, mValue); + } + +private: + uint64_t mValue; +}; + +class WriteTestClusterEpochS : public WriteAttribute +{ +public: + WriteTestClusterEpochS(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EpochS", credsIssuerConfig) + { + AddArgument("attr-name", "epoch-s"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterEpochS() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000021, mValue); + } + +private: + uint32_t mValue; +}; + +class WriteTestClusterVendorId : public WriteAttribute +{ +public: + WriteTestClusterVendorId(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("VendorId", credsIssuerConfig) + { + AddArgument("attr-name", "vendor-id"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterVendorId() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000022, mValue); + } + +private: + chip::VendorId mValue; +}; + +class WriteTestClusterListNullablesAndOptionalsStruct : public WriteAttribute +{ +public: + WriteTestClusterListNullablesAndOptionalsStruct(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ListNullablesAndOptionalsStruct", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "list-nullables-and-optionals-struct"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterListNullablesAndOptionalsStruct() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000023, mValue); + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument< + chip::app::DataModel::List> + mComplex; +}; + +class WriteTestClusterEnumAttr : public WriteAttribute +{ +public: + WriteTestClusterEnumAttr(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("EnumAttr", credsIssuerConfig) + { + AddArgument("attr-name", "enum-attr"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterEnumAttr() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000024, mValue); + } + +private: + chip::app::Clusters::TestCluster::SimpleEnum mValue; +}; + +class WriteTestClusterStructAttr : public WriteAttribute +{ +public: + WriteTestClusterStructAttr(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("StructAttr", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "struct-attr"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterStructAttr() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000025, mValue); + } + +private: + chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type mValue; + TypedComplexArgument mComplex; +}; + +class WriteTestClusterRangeRestrictedInt8u : public WriteAttribute +{ +public: + WriteTestClusterRangeRestrictedInt8u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RangeRestrictedInt8u", credsIssuerConfig) + { + AddArgument("attr-name", "range-restricted-int8u"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterRangeRestrictedInt8u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000026, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteTestClusterRangeRestrictedInt8s : public WriteAttribute +{ +public: + WriteTestClusterRangeRestrictedInt8s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RangeRestrictedInt8s", credsIssuerConfig) + { + AddArgument("attr-name", "range-restricted-int8s"); + AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterRangeRestrictedInt8s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000027, mValue); + } + +private: + int8_t mValue; +}; + +class WriteTestClusterRangeRestrictedInt16u : public WriteAttribute +{ +public: + WriteTestClusterRangeRestrictedInt16u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RangeRestrictedInt16u", credsIssuerConfig) + { + AddArgument("attr-name", "range-restricted-int16u"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterRangeRestrictedInt16u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000028, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteTestClusterRangeRestrictedInt16s : public WriteAttribute +{ +public: + WriteTestClusterRangeRestrictedInt16s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RangeRestrictedInt16s", credsIssuerConfig) + { + AddArgument("attr-name", "range-restricted-int16s"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterRangeRestrictedInt16s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000029, mValue); + } + +private: + int16_t mValue; +}; + +class WriteTestClusterListLongOctetString : public WriteAttribute +{ +public: + WriteTestClusterListLongOctetString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ListLongOctetString", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "list-long-octet-string"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterListLongOctetString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000002A, mValue); + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; +}; + +class WriteTestClusterTimedWriteBoolean : public WriteAttribute +{ +public: + WriteTestClusterTimedWriteBoolean(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("TimedWriteBoolean", credsIssuerConfig) + { + AddArgument("attr-name", "timed-write-boolean"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterTimedWriteBoolean() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000030, mValue); + } + +private: + bool mValue; +}; + +class WriteTestClusterGeneralErrorBoolean : public WriteAttribute +{ +public: + WriteTestClusterGeneralErrorBoolean(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("GeneralErrorBoolean", credsIssuerConfig) + { + AddArgument("attr-name", "general-error-boolean"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterGeneralErrorBoolean() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000031, mValue); + } + +private: + bool mValue; +}; + +class WriteTestClusterClusterErrorBoolean : public WriteAttribute +{ +public: + WriteTestClusterClusterErrorBoolean(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("ClusterErrorBoolean", credsIssuerConfig) + { + AddArgument("attr-name", "cluster-error-boolean"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterClusterErrorBoolean() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00000032, mValue); + } + +private: + bool mValue; +}; + +class WriteTestClusterUnsupported : public WriteAttribute +{ +public: + WriteTestClusterUnsupported(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("Unsupported", credsIssuerConfig) + { + AddArgument("attr-name", "unsupported"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterUnsupported() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x000000FF, mValue); + } + +private: + bool mValue; +}; + +class WriteTestClusterNullableBoolean : public WriteAttribute +{ +public: + WriteTestClusterNullableBoolean(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableBoolean", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-boolean"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableBoolean() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008000, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableBitmap8 : public WriteAttribute +{ +public: + WriteTestClusterNullableBitmap8(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableBitmap8", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-bitmap8"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableBitmap8() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008001, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableBitmap16 : public WriteAttribute +{ +public: + WriteTestClusterNullableBitmap16(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableBitmap16", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-bitmap16"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableBitmap16() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008002, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableBitmap32 : public WriteAttribute +{ +public: + WriteTestClusterNullableBitmap32(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableBitmap32", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-bitmap32"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableBitmap32() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008003, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableBitmap64 : public WriteAttribute +{ +public: + WriteTestClusterNullableBitmap64(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableBitmap64", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-bitmap64"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableBitmap64() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008004, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt8u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt8u(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NullableInt8u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int8u"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt8u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008005, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt16u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt16u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt16u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int16u"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt16u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008006, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt24u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt24u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt24u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int24u"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt24u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008007, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt32u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt32u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt32u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int32u"); + AddArgument("attr-value", 0, UINT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt32u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008008, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt40u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt40u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt40u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int40u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt40u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008009, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt48u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt48u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt48u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int48u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt48u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800A, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt56u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt56u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt56u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int56u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt56u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800B, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt64u : public WriteAttribute +{ +public: + WriteTestClusterNullableInt64u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt64u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int64u"); + AddArgument("attr-value", 0, UINT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt64u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800C, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt8s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt8s(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NullableInt8s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int8s"); + AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt8s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800D, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt16s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt16s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt16s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int16s"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt16s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800E, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt24s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt24s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt24s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int24s"); + AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt24s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000800F, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt32s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt32s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt32s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int32s"); + AddArgument("attr-value", INT32_MIN, INT32_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt32s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008010, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt40s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt40s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt40s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int40s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt40s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008011, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt48s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt48s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt48s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int48s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt48s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008012, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt56s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt56s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt56s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int56s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt56s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008013, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableInt64s : public WriteAttribute +{ +public: + WriteTestClusterNullableInt64s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableInt64s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-int64s"); + AddArgument("attr-value", INT64_MIN, INT64_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableInt64s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008014, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableEnum8 : public WriteAttribute +{ +public: + WriteTestClusterNullableEnum8(CredentialIssuerCommands * credsIssuerConfig) : WriteAttribute("NullableEnum8", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-enum8"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableEnum8() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008015, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableEnum16 : public WriteAttribute +{ +public: + WriteTestClusterNullableEnum16(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableEnum16", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-enum16"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableEnum16() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008016, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableFloatSingle : public WriteAttribute +{ +public: + WriteTestClusterNullableFloatSingle(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableFloatSingle", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-float-single"); + AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableFloatSingle() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008017, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableFloatDouble : public WriteAttribute +{ +public: + WriteTestClusterNullableFloatDouble(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableFloatDouble", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-float-double"); + AddArgument("attr-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableFloatDouble() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008018, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableOctetString : public WriteAttribute +{ +public: + WriteTestClusterNullableOctetString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableOctetString", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-octet-string"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableOctetString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008019, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableCharString : public WriteAttribute +{ +public: + WriteTestClusterNullableCharString(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableCharString", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-char-string"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableCharString() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x0000801E, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableEnumAttr : public WriteAttribute +{ +public: + WriteTestClusterNullableEnumAttr(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableEnumAttr", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-enum-attr"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableEnumAttr() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008024, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableStruct : public WriteAttribute +{ +public: + WriteTestClusterNullableStruct(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableStruct", credsIssuerConfig), mComplex(&mValue) + { + AddArgument("attr-name", "nullable-struct"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableStruct() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008025, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; + TypedComplexArgument> mComplex; +}; + +class WriteTestClusterNullableRangeRestrictedInt8u : public WriteAttribute +{ +public: + WriteTestClusterNullableRangeRestrictedInt8u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableRangeRestrictedInt8u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-range-restricted-int8u"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableRangeRestrictedInt8u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008026, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableRangeRestrictedInt8s : public WriteAttribute +{ +public: + WriteTestClusterNullableRangeRestrictedInt8s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableRangeRestrictedInt8s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-range-restricted-int8s"); + AddArgument("attr-value", INT8_MIN, INT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableRangeRestrictedInt8s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008027, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableRangeRestrictedInt16u : public WriteAttribute +{ +public: + WriteTestClusterNullableRangeRestrictedInt16u(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableRangeRestrictedInt16u", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-range-restricted-int16u"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableRangeRestrictedInt16u() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008028, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +class WriteTestClusterNullableRangeRestrictedInt16s : public WriteAttribute +{ +public: + WriteTestClusterNullableRangeRestrictedInt16s(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("NullableRangeRestrictedInt16s", credsIssuerConfig) + { + AddArgument("attr-name", "nullable-range-restricted-int16s"); + AddArgument("attr-value", INT16_MIN, INT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteTestClusterNullableRangeRestrictedInt16s() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x0000050F, 0x00008029, mValue); + } + +private: + chip::app::DataModel::Nullable mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster Messaging | 0x0703 | +|------------------------------------------------------------------------------| +| Commands: | | +| * GetLastMessage | 0x00 | +| * MessageConfirmation | 0x01 | +| * GetMessageCancellation | 0x02 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command GetLastMessage + */ +class MessagingGetLastMessage : public ClusterCommand +{ +public: + MessagingGetLastMessage(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-last-message", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000703) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000703, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::Messaging::Commands::GetLastMessage::Type mRequest; +}; + +/* + * Command MessageConfirmation + */ +class MessagingMessageConfirmation : public ClusterCommand +{ +public: + MessagingMessageConfirmation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("message-confirmation", credsIssuerConfig) + { + AddArgument("MessageId", 0, UINT32_MAX, &mRequest.messageId); + AddArgument("ConfirmationTime", 0, UINT32_MAX, &mRequest.confirmationTime); + AddArgument("MessageConfirmationControl", 0, UINT8_MAX, &mRequest.messageConfirmationControl); + AddArgument("MessageResponse", &mRequest.messageResponse); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000703) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000703, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::Messaging::Commands::MessageConfirmation::Type mRequest; +}; + +/* + * Command GetMessageCancellation + */ +class MessagingGetMessageCancellation : public ClusterCommand +{ +public: + MessagingGetMessageCancellation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-message-cancellation", credsIssuerConfig) + { + AddArgument("EarliestImplementationTime", 0, UINT32_MAX, &mRequest.earliestImplementationTime); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000703) command (0x00000002) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000703, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::Messaging::Commands::GetMessageCancellation::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ApplianceIdentification | 0x0B00 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * BasicIdentification | 0x0000 | +| * CompanyName | 0x0010 | +| * CompanyId | 0x0011 | +| * BrandName | 0x0012 | +| * BrandId | 0x0013 | +| * Model | 0x0014 | +| * PartNumber | 0x0015 | +| * ProductRevision | 0x0016 | +| * SoftwareRevision | 0x0017 | +| * ProductTypeName | 0x0018 | +| * ProductTypeId | 0x0019 | +| * CecedSpecificationVersion | 0x001A | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster MeterIdentification | 0x0B01 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CompanyName | 0x0000 | +| * MeterTypeId | 0x0001 | +| * DataQualityId | 0x0004 | +| * CustomerName | 0x0005 | +| * Model | 0x0006 | +| * PartNumber | 0x0007 | +| * ProductRevision | 0x0008 | +| * SoftwareRevision | 0x000A | +| * UtilityName | 0x000B | +| * Pod | 0x000C | +| * AvailablePower | 0x000D | +| * PowerThreshold | 0x000E | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +class WriteMeterIdentificationCustomerName : public WriteAttribute +{ +public: + WriteMeterIdentificationCustomerName(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("CustomerName", credsIssuerConfig) + { + AddArgument("attr-name", "customer-name"); + AddArgument("attr-value", &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteMeterIdentificationCustomerName() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B01, 0x00000005, mValue); + } + +private: + chip::CharSpan mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ApplianceEventsAndAlert | 0x0B02 | +|------------------------------------------------------------------------------| +| Commands: | | +| * GetAlerts | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command GetAlerts + */ +class ApplianceEventsAndAlertGetAlerts : public ClusterCommand +{ +public: + ApplianceEventsAndAlertGetAlerts(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-alerts", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000B02) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000B02, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::ApplianceEventsAndAlert::Commands::GetAlerts::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ApplianceStatistics | 0x0B03 | +|------------------------------------------------------------------------------| +| Commands: | | +| * LogRequest | 0x00 | +| * LogQueueRequest | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * LogMaxSize | 0x0000 | +| * LogQueueMaxSize | 0x0001 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command LogRequest + */ +class ApplianceStatisticsLogRequest : public ClusterCommand +{ +public: + ApplianceStatisticsLogRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("log-request", credsIssuerConfig) + { + AddArgument("LogId", 0, UINT32_MAX, &mRequest.logId); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000B03) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000B03, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::ApplianceStatistics::Commands::LogRequest::Type mRequest; +}; + +/* + * Command LogQueueRequest + */ +class ApplianceStatisticsLogQueueRequest : public ClusterCommand +{ +public: + ApplianceStatisticsLogQueueRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("log-queue-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000B03) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000B03, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::ApplianceStatistics::Commands::LogQueueRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster ElectricalMeasurement | 0x0B04 | +|------------------------------------------------------------------------------| +| Commands: | | +| * GetProfileInfoCommand | 0x00 | +| * GetMeasurementProfileCommand | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasurementType | 0x0000 | +| * DcVoltage | 0x0100 | +| * DcVoltageMin | 0x0101 | +| * DcVoltageMax | 0x0102 | +| * DcCurrent | 0x0103 | +| * DcCurrentMin | 0x0104 | +| * DcCurrentMax | 0x0105 | +| * DcPower | 0x0106 | +| * DcPowerMin | 0x0107 | +| * DcPowerMax | 0x0108 | +| * DcVoltageMultiplier | 0x0200 | +| * DcVoltageDivisor | 0x0201 | +| * DcCurrentMultiplier | 0x0202 | +| * DcCurrentDivisor | 0x0203 | +| * DcPowerMultiplier | 0x0204 | +| * DcPowerDivisor | 0x0205 | +| * AcFrequency | 0x0300 | +| * AcFrequencyMin | 0x0301 | +| * AcFrequencyMax | 0x0302 | +| * NeutralCurrent | 0x0303 | +| * TotalActivePower | 0x0304 | +| * TotalReactivePower | 0x0305 | +| * TotalApparentPower | 0x0306 | +| * Measured1stHarmonicCurrent | 0x0307 | +| * Measured3rdHarmonicCurrent | 0x0308 | +| * Measured5thHarmonicCurrent | 0x0309 | +| * Measured7thHarmonicCurrent | 0x030A | +| * Measured9thHarmonicCurrent | 0x030B | +| * Measured11thHarmonicCurrent | 0x030C | +| * MeasuredPhase1stHarmonicCurrent | 0x030D | +| * MeasuredPhase3rdHarmonicCurrent | 0x030E | +| * MeasuredPhase5thHarmonicCurrent | 0x030F | +| * MeasuredPhase7thHarmonicCurrent | 0x0310 | +| * MeasuredPhase9thHarmonicCurrent | 0x0311 | +| * MeasuredPhase11thHarmonicCurrent | 0x0312 | +| * AcFrequencyMultiplier | 0x0400 | +| * AcFrequencyDivisor | 0x0401 | +| * PowerMultiplier | 0x0402 | +| * PowerDivisor | 0x0403 | +| * HarmonicCurrentMultiplier | 0x0404 | +| * PhaseHarmonicCurrentMultiplier | 0x0405 | +| * InstantaneousVoltage | 0x0500 | +| * InstantaneousLineCurrent | 0x0501 | +| * InstantaneousActiveCurrent | 0x0502 | +| * InstantaneousReactiveCurrent | 0x0503 | +| * InstantaneousPower | 0x0504 | +| * RmsVoltage | 0x0505 | +| * RmsVoltageMin | 0x0506 | +| * RmsVoltageMax | 0x0507 | +| * RmsCurrent | 0x0508 | +| * RmsCurrentMin | 0x0509 | +| * RmsCurrentMax | 0x050A | +| * ActivePower | 0x050B | +| * ActivePowerMin | 0x050C | +| * ActivePowerMax | 0x050D | +| * ReactivePower | 0x050E | +| * ApparentPower | 0x050F | +| * PowerFactor | 0x0510 | +| * AverageRmsVoltageMeasurementPeriod | 0x0511 | +| * AverageRmsUnderVoltageCounter | 0x0513 | +| * RmsExtremeOverVoltagePeriod | 0x0514 | +| * RmsExtremeUnderVoltagePeriod | 0x0515 | +| * RmsVoltageSagPeriod | 0x0516 | +| * RmsVoltageSwellPeriod | 0x0517 | +| * AcVoltageMultiplier | 0x0600 | +| * AcVoltageDivisor | 0x0601 | +| * AcCurrentMultiplier | 0x0602 | +| * AcCurrentDivisor | 0x0603 | +| * AcPowerMultiplier | 0x0604 | +| * AcPowerDivisor | 0x0605 | +| * OverloadAlarmsMask | 0x0700 | +| * VoltageOverload | 0x0701 | +| * CurrentOverload | 0x0702 | +| * AcOverloadAlarmsMask | 0x0800 | +| * AcVoltageOverload | 0x0801 | +| * AcCurrentOverload | 0x0802 | +| * AcActivePowerOverload | 0x0803 | +| * AcReactivePowerOverload | 0x0804 | +| * AverageRmsOverVoltage | 0x0805 | +| * AverageRmsUnderVoltage | 0x0806 | +| * RmsExtremeOverVoltage | 0x0807 | +| * RmsExtremeUnderVoltage | 0x0808 | +| * RmsVoltageSag | 0x0809 | +| * RmsVoltageSwell | 0x080A | +| * LineCurrentPhaseB | 0x0901 | +| * ActiveCurrentPhaseB | 0x0902 | +| * ReactiveCurrentPhaseB | 0x0903 | +| * RmsVoltagePhaseB | 0x0905 | +| * RmsVoltageMinPhaseB | 0x0906 | +| * RmsVoltageMaxPhaseB | 0x0907 | +| * RmsCurrentPhaseB | 0x0908 | +| * RmsCurrentMinPhaseB | 0x0909 | +| * RmsCurrentMaxPhaseB | 0x090A | +| * ActivePowerPhaseB | 0x090B | +| * ActivePowerMinPhaseB | 0x090C | +| * ActivePowerMaxPhaseB | 0x090D | +| * ReactivePowerPhaseB | 0x090E | +| * ApparentPowerPhaseB | 0x090F | +| * PowerFactorPhaseB | 0x0910 | +| * AverageRmsVoltageMeasurementPeriodPhaseB | 0x0911 | +| * AverageRmsOverVoltageCounterPhaseB | 0x0912 | +| * AverageRmsUnderVoltageCounterPhaseB | 0x0913 | +| * RmsExtremeOverVoltagePeriodPhaseB | 0x0914 | +| * RmsExtremeUnderVoltagePeriodPhaseB | 0x0915 | +| * RmsVoltageSagPeriodPhaseB | 0x0916 | +| * RmsVoltageSwellPeriodPhaseB | 0x0917 | +| * LineCurrentPhaseC | 0x0A01 | +| * ActiveCurrentPhaseC | 0x0A02 | +| * ReactiveCurrentPhaseC | 0x0A03 | +| * RmsVoltagePhaseC | 0x0A05 | +| * RmsVoltageMinPhaseC | 0x0A06 | +| * RmsVoltageMaxPhaseC | 0x0A07 | +| * RmsCurrentPhaseC | 0x0A08 | +| * RmsCurrentMinPhaseC | 0x0A09 | +| * RmsCurrentMaxPhaseC | 0x0A0A | +| * ActivePowerPhaseC | 0x0A0B | +| * ActivePowerMinPhaseC | 0x0A0C | +| * ActivePowerMaxPhaseC | 0x0A0D | +| * ReactivePowerPhaseC | 0x0A0E | +| * ApparentPowerPhaseC | 0x0A0F | +| * PowerFactorPhaseC | 0x0A10 | +| * AverageRmsVoltageMeasurementPeriodPhaseC | 0x0A11 | +| * AverageRmsOverVoltageCounterPhaseC | 0x0A12 | +| * AverageRmsUnderVoltageCounterPhaseC | 0x0A13 | +| * RmsExtremeOverVoltagePeriodPhaseC | 0x0A14 | +| * RmsExtremeUnderVoltagePeriodPhaseC | 0x0A15 | +| * RmsVoltageSagPeriodPhaseC | 0x0A16 | +| * RmsVoltageSwellPeriodPhaseC | 0x0A17 | +| * ServerGeneratedCommandList | 0xFFF8 | +| * ClientGeneratedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command GetProfileInfoCommand + */ +class ElectricalMeasurementGetProfileInfoCommand : public ClusterCommand +{ +public: + ElectricalMeasurementGetProfileInfoCommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-profile-info-command", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000B04, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Type mRequest; +}; + +/* + * Command GetMeasurementProfileCommand + */ +class ElectricalMeasurementGetMeasurementProfileCommand : public ClusterCommand +{ +public: + ElectricalMeasurementGetMeasurementProfileCommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-measurement-profile-command", credsIssuerConfig) + { + AddArgument("AttributeId", 0, UINT16_MAX, &mRequest.attributeId); + AddArgument("StartTime", 0, UINT32_MAX, &mRequest.startTime); + AddArgument("NumberOfIntervals", 0, UINT8_MAX, &mRequest.numberOfIntervals); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on endpoint %" PRIu16, endpointId); + + return ClusterCommand::SendCommand(device, endpointId, 0x00000B04, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type mRequest; +}; + +class WriteElectricalMeasurementAverageRmsVoltageMeasurementPeriod : public WriteAttribute +{ +public: + WriteElectricalMeasurementAverageRmsVoltageMeasurementPeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("AverageRmsVoltageMeasurementPeriod", credsIssuerConfig) + { + AddArgument("attr-name", "average-rms-voltage-measurement-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementAverageRmsVoltageMeasurementPeriod() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000511, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteElectricalMeasurementAverageRmsUnderVoltageCounter : public WriteAttribute +{ +public: + WriteElectricalMeasurementAverageRmsUnderVoltageCounter(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("AverageRmsUnderVoltageCounter", credsIssuerConfig) + { + AddArgument("attr-name", "average-rms-under-voltage-counter"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementAverageRmsUnderVoltageCounter() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000513, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteElectricalMeasurementRmsExtremeOverVoltagePeriod : public WriteAttribute +{ +public: + WriteElectricalMeasurementRmsExtremeOverVoltagePeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RmsExtremeOverVoltagePeriod", credsIssuerConfig) + { + AddArgument("attr-name", "rms-extreme-over-voltage-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementRmsExtremeOverVoltagePeriod() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000514, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteElectricalMeasurementRmsExtremeUnderVoltagePeriod : public WriteAttribute +{ +public: + WriteElectricalMeasurementRmsExtremeUnderVoltagePeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RmsExtremeUnderVoltagePeriod", credsIssuerConfig) + { + AddArgument("attr-name", "rms-extreme-under-voltage-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementRmsExtremeUnderVoltagePeriod() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000515, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteElectricalMeasurementRmsVoltageSagPeriod : public WriteAttribute +{ +public: + WriteElectricalMeasurementRmsVoltageSagPeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RmsVoltageSagPeriod", credsIssuerConfig) + { + AddArgument("attr-name", "rms-voltage-sag-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementRmsVoltageSagPeriod() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000516, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteElectricalMeasurementRmsVoltageSwellPeriod : public WriteAttribute +{ +public: + WriteElectricalMeasurementRmsVoltageSwellPeriod(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("RmsVoltageSwellPeriod", credsIssuerConfig) + { + AddArgument("attr-name", "rms-voltage-swell-period"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementRmsVoltageSwellPeriod() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000517, mValue); + } + +private: + uint16_t mValue; +}; + +class WriteElectricalMeasurementOverloadAlarmsMask : public WriteAttribute +{ +public: + WriteElectricalMeasurementOverloadAlarmsMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("OverloadAlarmsMask", credsIssuerConfig) + { + AddArgument("attr-name", "overload-alarms-mask"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementOverloadAlarmsMask() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000700, mValue); + } + +private: + uint8_t mValue; +}; + +class WriteElectricalMeasurementAcOverloadAlarmsMask : public WriteAttribute +{ +public: + WriteElectricalMeasurementAcOverloadAlarmsMask(CredentialIssuerCommands * credsIssuerConfig) : + WriteAttribute("AcOverloadAlarmsMask", credsIssuerConfig) + { + AddArgument("attr-name", "ac-overload-alarms-mask"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteElectricalMeasurementAcOverloadAlarmsMask() {} + + CHIP_ERROR SendCommand(ChipDevice * device, chip::EndpointId endpointId) override + { + return WriteAttribute::SendCommand(device, endpointId, 0x00000B04, 0x00000800, mValue); + } + +private: + uint16_t mValue; +}; + +/*----------------------------------------------------------------------------*\ +| Register all Clusters commands | +\*----------------------------------------------------------------------------*/ +void registerClusterPowerConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PowerConfiguration; + + const char * clusterName = "PowerConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "mains-voltage", Attributes::MainsVoltage::Id, credsIssuerConfig), // + make_unique(Id, "mains-frequency", Attributes::MainsFrequency::Id, credsIssuerConfig), // + make_unique(Id, "mains-alarm-mask", Attributes::MainsAlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "mains-voltage-min-threshold", Attributes::MainsVoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "mains-voltage-max-threshold", Attributes::MainsVoltageMaxThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "mains-voltage-dwell-trip", Attributes::MainsVoltageDwellTrip::Id, credsIssuerConfig), // + make_unique(Id, "battery-voltage", Attributes::BatteryVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery-percentage-remaining", Attributes::BatteryPercentageRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery-manufacturer", Attributes::BatteryManufacturer::Id, credsIssuerConfig), // + make_unique(Id, "battery-size", Attributes::BatterySize::Id, credsIssuerConfig), // + make_unique(Id, "battery-ahr-rating", Attributes::BatteryAhrRating::Id, credsIssuerConfig), // + make_unique(Id, "battery-quantity", Attributes::BatteryQuantity::Id, credsIssuerConfig), // + make_unique(Id, "battery-rated-voltage", Attributes::BatteryRatedVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery-alarm-mask", Attributes::BatteryAlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "battery-voltage-min-threshold", Attributes::BatteryVoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage-threshold1", Attributes::BatteryVoltageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage-threshold2", Attributes::BatteryVoltageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage-threshold3", Attributes::BatteryVoltageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-min-threshold", Attributes::BatteryPercentageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-threshold1", Attributes::BatteryPercentageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-threshold2", Attributes::BatteryPercentageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-threshold3", Attributes::BatteryPercentageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery-alarm-state", Attributes::BatteryAlarmState::Id, credsIssuerConfig), // + make_unique(Id, "battery2voltage", Attributes::Battery2Voltage::Id, credsIssuerConfig), // + make_unique(Id, "battery2percentage-remaining", Attributes::Battery2PercentageRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery2manufacturer", Attributes::Battery2Manufacturer::Id, credsIssuerConfig), // + make_unique(Id, "battery2size", Attributes::Battery2Size::Id, credsIssuerConfig), // + make_unique(Id, "battery2ahr-rating", Attributes::Battery2AhrRating::Id, credsIssuerConfig), // + make_unique(Id, "battery2quantity", Attributes::Battery2Quantity::Id, credsIssuerConfig), // + make_unique(Id, "battery2rated-voltage", Attributes::Battery2RatedVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery2alarm-mask", Attributes::Battery2AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "battery2voltage-min-threshold", Attributes::Battery2VoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery2voltage-threshold1", Attributes::Battery2VoltageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery2voltage-threshold2", Attributes::Battery2VoltageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery2voltage-threshold3", Attributes::Battery2VoltageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-min-threshold", Attributes::Battery2PercentageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-threshold1", Attributes::Battery2PercentageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-threshold2", Attributes::Battery2PercentageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-threshold3", Attributes::Battery2PercentageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery2alarm-state", Attributes::Battery2AlarmState::Id, credsIssuerConfig), // + make_unique(Id, "battery3voltage", Attributes::Battery3Voltage::Id, credsIssuerConfig), // + make_unique(Id, "battery3percentage-remaining", Attributes::Battery3PercentageRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery3manufacturer", Attributes::Battery3Manufacturer::Id, credsIssuerConfig), // + make_unique(Id, "battery3size", Attributes::Battery3Size::Id, credsIssuerConfig), // + make_unique(Id, "battery3ahr-rating", Attributes::Battery3AhrRating::Id, credsIssuerConfig), // + make_unique(Id, "battery3quantity", Attributes::Battery3Quantity::Id, credsIssuerConfig), // + make_unique(Id, "battery3rated-voltage", Attributes::Battery3RatedVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery3alarm-mask", Attributes::Battery3AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "battery3voltage-min-threshold", Attributes::Battery3VoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery3voltage-threshold1", Attributes::Battery3VoltageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery3voltage-threshold2", Attributes::Battery3VoltageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery3voltage-threshold3", Attributes::Battery3VoltageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-min-threshold", Attributes::Battery3PercentageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-threshold1", Attributes::Battery3PercentageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-threshold2", Attributes::Battery3PercentageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-threshold3", Attributes::Battery3PercentageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery3alarm-state", Attributes::Battery3AlarmState::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "mains-voltage", Attributes::MainsVoltage::Id, credsIssuerConfig), // + make_unique(Id, "mains-frequency", Attributes::MainsFrequency::Id, credsIssuerConfig), // + make_unique(Id, "mains-alarm-mask", Attributes::MainsAlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "mains-voltage-min-threshold", Attributes::MainsVoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "mains-voltage-max-threshold", Attributes::MainsVoltageMaxThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "mains-voltage-dwell-trip", Attributes::MainsVoltageDwellTrip::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage", Attributes::BatteryVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery-percentage-remaining", Attributes::BatteryPercentageRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery-manufacturer", Attributes::BatteryManufacturer::Id, credsIssuerConfig), // + make_unique(Id, "battery-size", Attributes::BatterySize::Id, credsIssuerConfig), // + make_unique(Id, "battery-ahr-rating", Attributes::BatteryAhrRating::Id, credsIssuerConfig), // + make_unique(Id, "battery-quantity", Attributes::BatteryQuantity::Id, credsIssuerConfig), // + make_unique(Id, "battery-rated-voltage", Attributes::BatteryRatedVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery-alarm-mask", Attributes::BatteryAlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "battery-voltage-min-threshold", Attributes::BatteryVoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage-threshold1", Attributes::BatteryVoltageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage-threshold2", Attributes::BatteryVoltageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery-voltage-threshold3", Attributes::BatteryVoltageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-min-threshold", Attributes::BatteryPercentageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-threshold1", Attributes::BatteryPercentageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-threshold2", Attributes::BatteryPercentageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery-percentage-threshold3", Attributes::BatteryPercentageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery-alarm-state", Attributes::BatteryAlarmState::Id, credsIssuerConfig), // + make_unique(Id, "battery2voltage", Attributes::Battery2Voltage::Id, credsIssuerConfig), // + make_unique(Id, "battery2percentage-remaining", Attributes::Battery2PercentageRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery2manufacturer", Attributes::Battery2Manufacturer::Id, credsIssuerConfig), // + make_unique(Id, "battery2size", Attributes::Battery2Size::Id, credsIssuerConfig), // + make_unique(Id, "battery2ahr-rating", Attributes::Battery2AhrRating::Id, credsIssuerConfig), // + make_unique(Id, "battery2quantity", Attributes::Battery2Quantity::Id, credsIssuerConfig), // + make_unique(Id, "battery2rated-voltage", Attributes::Battery2RatedVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery2alarm-mask", Attributes::Battery2AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "battery2voltage-min-threshold", Attributes::Battery2VoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery2voltage-threshold1", Attributes::Battery2VoltageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery2voltage-threshold2", Attributes::Battery2VoltageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery2voltage-threshold3", Attributes::Battery2VoltageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-min-threshold", Attributes::Battery2PercentageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-threshold1", Attributes::Battery2PercentageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-threshold2", Attributes::Battery2PercentageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery2percentage-threshold3", Attributes::Battery2PercentageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery2alarm-state", Attributes::Battery2AlarmState::Id, credsIssuerConfig), // + make_unique(Id, "battery3voltage", Attributes::Battery3Voltage::Id, credsIssuerConfig), // + make_unique(Id, "battery3percentage-remaining", Attributes::Battery3PercentageRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery3manufacturer", Attributes::Battery3Manufacturer::Id, credsIssuerConfig), // + make_unique(Id, "battery3size", Attributes::Battery3Size::Id, credsIssuerConfig), // + make_unique(Id, "battery3ahr-rating", Attributes::Battery3AhrRating::Id, credsIssuerConfig), // + make_unique(Id, "battery3quantity", Attributes::Battery3Quantity::Id, credsIssuerConfig), // + make_unique(Id, "battery3rated-voltage", Attributes::Battery3RatedVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery3alarm-mask", Attributes::Battery3AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "battery3voltage-min-threshold", Attributes::Battery3VoltageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery3voltage-threshold1", Attributes::Battery3VoltageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery3voltage-threshold2", Attributes::Battery3VoltageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery3voltage-threshold3", Attributes::Battery3VoltageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-min-threshold", Attributes::Battery3PercentageMinThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-threshold1", Attributes::Battery3PercentageThreshold1::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-threshold2", Attributes::Battery3PercentageThreshold2::Id, + credsIssuerConfig), // + make_unique(Id, "battery3percentage-threshold3", Attributes::Battery3PercentageThreshold3::Id, + credsIssuerConfig), // + make_unique(Id, "battery3alarm-state", Attributes::Battery3AlarmState::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterDeviceTemperatureConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::DeviceTemperatureConfiguration; + + const char * clusterName = "DeviceTemperatureConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-temperature", Attributes::CurrentTemperature::Id, credsIssuerConfig), // + make_unique(Id, "min-temp-experienced", Attributes::MinTempExperienced::Id, credsIssuerConfig), // + make_unique(Id, "max-temp-experienced", Attributes::MaxTempExperienced::Id, credsIssuerConfig), // + make_unique(Id, "over-temp-total-dwell", Attributes::OverTempTotalDwell::Id, credsIssuerConfig), // + make_unique(Id, "device-temp-alarm-mask", Attributes::DeviceTempAlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "low-temp-threshold", Attributes::LowTempThreshold::Id, credsIssuerConfig), // + make_unique(Id, "high-temp-threshold", Attributes::HighTempThreshold::Id, credsIssuerConfig), // + make_unique(Id, "low-temp-dwell-trip-point", Attributes::LowTempDwellTripPoint::Id, credsIssuerConfig), // + make_unique(Id, "high-temp-dwell-trip-point", Attributes::HighTempDwellTripPoint::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-temperature", Attributes::CurrentTemperature::Id, credsIssuerConfig), // + make_unique(Id, "min-temp-experienced", Attributes::MinTempExperienced::Id, credsIssuerConfig), // + make_unique(Id, "max-temp-experienced", Attributes::MaxTempExperienced::Id, credsIssuerConfig), // + make_unique(Id, "over-temp-total-dwell", Attributes::OverTempTotalDwell::Id, credsIssuerConfig), // + make_unique(Id, "device-temp-alarm-mask", Attributes::DeviceTempAlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "low-temp-threshold", Attributes::LowTempThreshold::Id, credsIssuerConfig), // + make_unique(Id, "high-temp-threshold", Attributes::HighTempThreshold::Id, credsIssuerConfig), // + make_unique(Id, "low-temp-dwell-trip-point", Attributes::LowTempDwellTripPoint::Id, + credsIssuerConfig), // + make_unique(Id, "high-temp-dwell-trip-point", Attributes::HighTempDwellTripPoint::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterIdentify(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Identify; + + const char * clusterName = "Identify"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "identify-time", Attributes::IdentifyTime::Id, credsIssuerConfig), // + make_unique(Id, "identify-type", Attributes::IdentifyType::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "identify-time", Attributes::IdentifyTime::Id, credsIssuerConfig), // + make_unique(Id, "identify-type", Attributes::IdentifyType::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterGroups(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Groups; + + const char * clusterName = "Groups"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterScenes(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Scenes; + + const char * clusterName = "Scenes"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "scene-count", Attributes::SceneCount::Id, credsIssuerConfig), // + make_unique(Id, "current-scene", Attributes::CurrentScene::Id, credsIssuerConfig), // + make_unique(Id, "current-group", Attributes::CurrentGroup::Id, credsIssuerConfig), // + make_unique(Id, "scene-valid", Attributes::SceneValid::Id, credsIssuerConfig), // + make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // + make_unique(Id, "last-configured-by", Attributes::LastConfiguredBy::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "scene-count", Attributes::SceneCount::Id, credsIssuerConfig), // + make_unique(Id, "current-scene", Attributes::CurrentScene::Id, credsIssuerConfig), // + make_unique(Id, "current-group", Attributes::CurrentGroup::Id, credsIssuerConfig), // + make_unique(Id, "scene-valid", Attributes::SceneValid::Id, credsIssuerConfig), // + make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // + make_unique(Id, "last-configured-by", Attributes::LastConfiguredBy::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOnOff(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OnOff; + + const char * clusterName = "OnOff"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "on-off", Attributes::OnOff::Id, credsIssuerConfig), // + make_unique(Id, "global-scene-control", Attributes::GlobalSceneControl::Id, credsIssuerConfig), // + make_unique(Id, "on-time", Attributes::OnTime::Id, credsIssuerConfig), // + make_unique(Id, "off-wait-time", Attributes::OffWaitTime::Id, credsIssuerConfig), // + make_unique(Id, "start-up-on-off", Attributes::StartUpOnOff::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "on-off", Attributes::OnOff::Id, credsIssuerConfig), // + make_unique(Id, "global-scene-control", Attributes::GlobalSceneControl::Id, credsIssuerConfig), // + make_unique(Id, "on-time", Attributes::OnTime::Id, credsIssuerConfig), // + make_unique(Id, "off-wait-time", Attributes::OffWaitTime::Id, credsIssuerConfig), // + make_unique(Id, "start-up-on-off", Attributes::StartUpOnOff::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOnOffSwitchConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OnOffSwitchConfiguration; + + const char * clusterName = "OnOffSwitchConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), // + make_unique(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), // + make_unique(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterLevelControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::LevelControl; + + const char * clusterName = "LevelControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-level", Attributes::CurrentLevel::Id, credsIssuerConfig), // + make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // + make_unique(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), // + make_unique(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "current-frequency", Attributes::CurrentFrequency::Id, credsIssuerConfig), // + make_unique(Id, "min-frequency", Attributes::MinFrequency::Id, credsIssuerConfig), // + make_unique(Id, "max-frequency", Attributes::MaxFrequency::Id, credsIssuerConfig), // + make_unique(Id, "options", Attributes::Options::Id, credsIssuerConfig), // + make_unique(Id, "on-off-transition-time", Attributes::OnOffTransitionTime::Id, credsIssuerConfig), // + make_unique(Id, "on-level", Attributes::OnLevel::Id, credsIssuerConfig), // + make_unique(Id, "on-transition-time", Attributes::OnTransitionTime::Id, credsIssuerConfig), // + make_unique(Id, "off-transition-time", Attributes::OffTransitionTime::Id, credsIssuerConfig), // + make_unique(Id, "default-move-rate", Attributes::DefaultMoveRate::Id, credsIssuerConfig), // + make_unique(Id, "start-up-current-level", Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-level", Attributes::CurrentLevel::Id, credsIssuerConfig), // + make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // + make_unique(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), // + make_unique(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "current-frequency", Attributes::CurrentFrequency::Id, credsIssuerConfig), // + make_unique(Id, "min-frequency", Attributes::MinFrequency::Id, credsIssuerConfig), // + make_unique(Id, "max-frequency", Attributes::MaxFrequency::Id, credsIssuerConfig), // + make_unique(Id, "options", Attributes::Options::Id, credsIssuerConfig), // + make_unique(Id, "on-off-transition-time", Attributes::OnOffTransitionTime::Id, credsIssuerConfig), // + make_unique(Id, "on-level", Attributes::OnLevel::Id, credsIssuerConfig), // + make_unique(Id, "on-transition-time", Attributes::OnTransitionTime::Id, credsIssuerConfig), // + make_unique(Id, "off-transition-time", Attributes::OffTransitionTime::Id, credsIssuerConfig), // + make_unique(Id, "default-move-rate", Attributes::DefaultMoveRate::Id, credsIssuerConfig), // + make_unique(Id, "start-up-current-level", Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterAlarms(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Alarms; + + const char * clusterName = "Alarms"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "alarm-count", Attributes::AlarmCount::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "alarm-count", Attributes::AlarmCount::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTime(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Time; + + const char * clusterName = "Time"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "time", Attributes::Time::Id, credsIssuerConfig), // + make_unique(Id, "time-status", Attributes::TimeStatus::Id, credsIssuerConfig), // + make_unique(Id, "time-zone", Attributes::TimeZone::Id, credsIssuerConfig), // + make_unique(Id, "dst-start", Attributes::DstStart::Id, credsIssuerConfig), // + make_unique(Id, "dst-end", Attributes::DstEnd::Id, credsIssuerConfig), // + make_unique(Id, "dst-shift", Attributes::DstShift::Id, credsIssuerConfig), // + make_unique(Id, "standard-time", Attributes::StandardTime::Id, credsIssuerConfig), // + make_unique(Id, "local-time", Attributes::LocalTime::Id, credsIssuerConfig), // + make_unique(Id, "last-set-time", Attributes::LastSetTime::Id, credsIssuerConfig), // + make_unique(Id, "valid-until-time", Attributes::ValidUntilTime::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "time", Attributes::Time::Id, credsIssuerConfig), // + make_unique(Id, "time-status", Attributes::TimeStatus::Id, credsIssuerConfig), // + make_unique(Id, "time-zone", Attributes::TimeZone::Id, credsIssuerConfig), // + make_unique(Id, "dst-start", Attributes::DstStart::Id, credsIssuerConfig), // + make_unique(Id, "dst-end", Attributes::DstEnd::Id, credsIssuerConfig), // + make_unique(Id, "dst-shift", Attributes::DstShift::Id, credsIssuerConfig), // + make_unique(Id, "standard-time", Attributes::StandardTime::Id, credsIssuerConfig), // + make_unique(Id, "local-time", Attributes::LocalTime::Id, credsIssuerConfig), // + make_unique(Id, "last-set-time", Attributes::LastSetTime::Id, credsIssuerConfig), // + make_unique(Id, "valid-until-time", Attributes::ValidUntilTime::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBinaryInputBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BinaryInputBasic; + + const char * clusterName = "BinaryInputBasic"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "active-text", Attributes::ActiveText::Id, credsIssuerConfig), // + make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "inactive-text", Attributes::InactiveText::Id, credsIssuerConfig), // + make_unique(Id, "out-of-service", Attributes::OutOfService::Id, credsIssuerConfig), // + make_unique(Id, "polarity", Attributes::Polarity::Id, credsIssuerConfig), // + make_unique(Id, "present-value", Attributes::PresentValue::Id, credsIssuerConfig), // + make_unique(Id, "reliability", Attributes::Reliability::Id, credsIssuerConfig), // + make_unique(Id, "status-flags", Attributes::StatusFlags::Id, credsIssuerConfig), // + make_unique(Id, "application-type", Attributes::ApplicationType::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "active-text", Attributes::ActiveText::Id, credsIssuerConfig), // + make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "inactive-text", Attributes::InactiveText::Id, credsIssuerConfig), // + make_unique(Id, "out-of-service", Attributes::OutOfService::Id, credsIssuerConfig), // + make_unique(Id, "polarity", Attributes::Polarity::Id, credsIssuerConfig), // + make_unique(Id, "present-value", Attributes::PresentValue::Id, credsIssuerConfig), // + make_unique(Id, "reliability", Attributes::Reliability::Id, credsIssuerConfig), // + make_unique(Id, "status-flags", Attributes::StatusFlags::Id, credsIssuerConfig), // + make_unique(Id, "application-type", Attributes::ApplicationType::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPowerProfile(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PowerProfile; + + const char * clusterName = "PowerProfile"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "total-profile-num", Attributes::TotalProfileNum::Id, credsIssuerConfig), // + make_unique(Id, "multiple-scheduling", Attributes::MultipleScheduling::Id, credsIssuerConfig), // + make_unique(Id, "energy-formatting", Attributes::EnergyFormatting::Id, credsIssuerConfig), // + make_unique(Id, "energy-remote", Attributes::EnergyRemote::Id, credsIssuerConfig), // + make_unique(Id, "schedule-mode", Attributes::ScheduleMode::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "total-profile-num", Attributes::TotalProfileNum::Id, credsIssuerConfig), // + make_unique(Id, "multiple-scheduling", Attributes::MultipleScheduling::Id, credsIssuerConfig), // + make_unique(Id, "energy-formatting", Attributes::EnergyFormatting::Id, credsIssuerConfig), // + make_unique(Id, "energy-remote", Attributes::EnergyRemote::Id, credsIssuerConfig), // + make_unique(Id, "schedule-mode", Attributes::ScheduleMode::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterApplianceControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ApplianceControl; + + const char * clusterName = "ApplianceControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // + make_unique(Id, "finish-time", Attributes::FinishTime::Id, credsIssuerConfig), // + make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // + make_unique(Id, "finish-time", Attributes::FinishTime::Id, credsIssuerConfig), // + make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPulseWidthModulation(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PulseWidthModulation; + + const char * clusterName = "PulseWidthModulation"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterDescriptor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Descriptor; + + const char * clusterName = "Descriptor"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "device-list", Attributes::DeviceList::Id, credsIssuerConfig), // + make_unique(Id, "server-list", Attributes::ServerList::Id, credsIssuerConfig), // + make_unique(Id, "client-list", Attributes::ClientList::Id, credsIssuerConfig), // + make_unique(Id, "parts-list", Attributes::PartsList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "device-list", Attributes::DeviceList::Id, credsIssuerConfig), // + make_unique(Id, "server-list", Attributes::ServerList::Id, credsIssuerConfig), // + make_unique(Id, "client-list", Attributes::ClientList::Id, credsIssuerConfig), // + make_unique(Id, "parts-list", Attributes::PartsList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBinding(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Binding; + + const char * clusterName = "Binding"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterAccessControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::AccessControl; + + const char * clusterName = "AccessControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // + make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // + make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "access-control-entry-changed", Events::AccessControlEntryChanged::Id, credsIssuerConfig), // + make_unique(Id, "access-control-extension-changed", Events::AccessControlExtensionChanged::Id, + credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "access-control-entry-changed", Events::AccessControlEntryChanged::Id, + credsIssuerConfig), // + make_unique(Id, "access-control-extension-changed", Events::AccessControlExtensionChanged::Id, + credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPollControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PollControl; + + const char * clusterName = "PollControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "check-in-interval", Attributes::CheckInInterval::Id, credsIssuerConfig), // + make_unique(Id, "long-poll-interval", Attributes::LongPollInterval::Id, credsIssuerConfig), // + make_unique(Id, "short-poll-interval", Attributes::ShortPollInterval::Id, credsIssuerConfig), // + make_unique(Id, "fast-poll-timeout", Attributes::FastPollTimeout::Id, credsIssuerConfig), // + make_unique(Id, "check-in-interval-min", Attributes::CheckInIntervalMin::Id, credsIssuerConfig), // + make_unique(Id, "long-poll-interval-min", Attributes::LongPollIntervalMin::Id, credsIssuerConfig), // + make_unique(Id, "fast-poll-timeout-max", Attributes::FastPollTimeoutMax::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "check-in-interval", Attributes::CheckInInterval::Id, credsIssuerConfig), // + make_unique(Id, "long-poll-interval", Attributes::LongPollInterval::Id, credsIssuerConfig), // + make_unique(Id, "short-poll-interval", Attributes::ShortPollInterval::Id, credsIssuerConfig), // + make_unique(Id, "fast-poll-timeout", Attributes::FastPollTimeout::Id, credsIssuerConfig), // + make_unique(Id, "check-in-interval-min", Attributes::CheckInIntervalMin::Id, credsIssuerConfig), // + make_unique(Id, "long-poll-interval-min", Attributes::LongPollIntervalMin::Id, credsIssuerConfig), // + make_unique(Id, "fast-poll-timeout-max", Attributes::FastPollTimeoutMax::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBridgedActions(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BridgedActions; + + const char * clusterName = "BridgedActions"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "action-list", Attributes::ActionList::Id, credsIssuerConfig), // + make_unique(Id, "endpoint-list", Attributes::EndpointList::Id, credsIssuerConfig), // + make_unique(Id, "setup-url", Attributes::SetupUrl::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "action-list", Attributes::ActionList::Id, credsIssuerConfig), // + make_unique(Id, "endpoint-list", Attributes::EndpointList::Id, credsIssuerConfig), // + make_unique(Id, "setup-url", Attributes::SetupUrl::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // + make_unique(Id, "action-failed", Events::ActionFailed::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // + make_unique(Id, "action-failed", Events::ActionFailed::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Basic; + + const char * clusterName = "Basic"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "data-model-revision", Attributes::DataModelRevision::Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // + make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // + make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // + make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // + make_unique(Id, "location", Attributes::Location::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // + make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // + make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // + make_unique(Id, "local-config-disabled", Attributes::LocalConfigDisabled::Id, credsIssuerConfig), // + make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // + make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "data-model-revision", Attributes::DataModelRevision::Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // + make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // + make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // + make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // + make_unique(Id, "location", Attributes::Location::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // + make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // + make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // + make_unique(Id, "local-config-disabled", Attributes::LocalConfigDisabled::Id, credsIssuerConfig), // + make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // + make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // + make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // + make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // + make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // + make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // + make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // + make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOtaSoftwareUpdateProvider(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OtaSoftwareUpdateProvider; + + const char * clusterName = "OtaSoftwareUpdateProvider"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOtaSoftwareUpdateRequestor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OtaSoftwareUpdateRequestor; + + const char * clusterName = "OtaSoftwareUpdateRequestor"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), // + make_unique(Id, "update-possible", Attributes::UpdatePossible::Id, credsIssuerConfig), // + make_unique(Id, "update-state", Attributes::UpdateState::Id, credsIssuerConfig), // + make_unique(Id, "update-state-progress", Attributes::UpdateStateProgress::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), // + make_unique(Id, "update-possible", Attributes::UpdatePossible::Id, credsIssuerConfig), // + make_unique(Id, "update-state", Attributes::UpdateState::Id, credsIssuerConfig), // + make_unique(Id, "update-state-progress", Attributes::UpdateStateProgress::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-transition", Events::StateTransition::Id, credsIssuerConfig), // + make_unique(Id, "version-applied", Events::VersionApplied::Id, credsIssuerConfig), // + make_unique(Id, "download-error", Events::DownloadError::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-transition", Events::StateTransition::Id, credsIssuerConfig), // + make_unique(Id, "version-applied", Events::VersionApplied::Id, credsIssuerConfig), // + make_unique(Id, "download-error", Events::DownloadError::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterLocalizationConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::LocalizationConfiguration; + + const char * clusterName = "LocalizationConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), // + make_unique(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), // + make_unique(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTimeFormatLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TimeFormatLocalization; + + const char * clusterName = "TimeFormatLocalization"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "hour-format", Attributes::HourFormat::Id, credsIssuerConfig), // + make_unique(Id, "active-calendar-type", Attributes::ActiveCalendarType::Id, credsIssuerConfig), // + make_unique(Id, "supported-calendar-types", Attributes::SupportedCalendarTypes::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "hour-format", Attributes::HourFormat::Id, credsIssuerConfig), // + make_unique(Id, "active-calendar-type", Attributes::ActiveCalendarType::Id, credsIssuerConfig), // + make_unique(Id, "supported-calendar-types", Attributes::SupportedCalendarTypes::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterUnitLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::UnitLocalization; + + const char * clusterName = "UnitLocalization"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPowerSourceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PowerSourceConfiguration; + + const char * clusterName = "PowerSourceConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPowerSource(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PowerSource; + + const char * clusterName = "PowerSource"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // + make_unique(Id, "order", Attributes::Order::Id, credsIssuerConfig), // + make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "wired-assessed-input-voltage", Attributes::WiredAssessedInputVoltage::Id, + credsIssuerConfig), // + make_unique(Id, "wired-assessed-input-frequency", Attributes::WiredAssessedInputFrequency::Id, + credsIssuerConfig), // + make_unique(Id, "wired-current-type", Attributes::WiredCurrentType::Id, credsIssuerConfig), // + make_unique(Id, "wired-assessed-current", Attributes::WiredAssessedCurrent::Id, credsIssuerConfig), // + make_unique(Id, "wired-nominal-voltage", Attributes::WiredNominalVoltage::Id, credsIssuerConfig), // + make_unique(Id, "wired-maximum-current", Attributes::WiredMaximumCurrent::Id, credsIssuerConfig), // + make_unique(Id, "wired-present", Attributes::WiredPresent::Id, credsIssuerConfig), // + make_unique(Id, "active-wired-faults", Attributes::ActiveWiredFaults::Id, credsIssuerConfig), // + make_unique(Id, "battery-voltage", Attributes::BatteryVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery-percent-remaining", Attributes::BatteryPercentRemaining::Id, credsIssuerConfig), // + make_unique(Id, "battery-time-remaining", Attributes::BatteryTimeRemaining::Id, credsIssuerConfig), // + make_unique(Id, "battery-charge-level", Attributes::BatteryChargeLevel::Id, credsIssuerConfig), // + make_unique(Id, "battery-replacement-needed", Attributes::BatteryReplacementNeeded::Id, + credsIssuerConfig), // + make_unique(Id, "battery-replaceability", Attributes::BatteryReplaceability::Id, credsIssuerConfig), // + make_unique(Id, "battery-present", Attributes::BatteryPresent::Id, credsIssuerConfig), // + make_unique(Id, "active-battery-faults", Attributes::ActiveBatteryFaults::Id, credsIssuerConfig), // + make_unique(Id, "battery-replacement-description", Attributes::BatteryReplacementDescription::Id, + credsIssuerConfig), // + make_unique(Id, "battery-common-designation", Attributes::BatteryCommonDesignation::Id, + credsIssuerConfig), // + make_unique(Id, "battery-ansidesignation", Attributes::BatteryANSIDesignation::Id, credsIssuerConfig), // + make_unique(Id, "battery-iecdesignation", Attributes::BatteryIECDesignation::Id, credsIssuerConfig), // + make_unique(Id, "battery-approved-chemistry", Attributes::BatteryApprovedChemistry::Id, + credsIssuerConfig), // + make_unique(Id, "battery-capacity", Attributes::BatteryCapacity::Id, credsIssuerConfig), // + make_unique(Id, "battery-quantity", Attributes::BatteryQuantity::Id, credsIssuerConfig), // + make_unique(Id, "battery-charge-state", Attributes::BatteryChargeState::Id, credsIssuerConfig), // + make_unique(Id, "battery-time-to-full-charge", Attributes::BatteryTimeToFullCharge::Id, + credsIssuerConfig), // + make_unique(Id, "battery-functional-while-charging", Attributes::BatteryFunctionalWhileCharging::Id, + credsIssuerConfig), // + make_unique(Id, "battery-charging-current", Attributes::BatteryChargingCurrent::Id, credsIssuerConfig), // + make_unique(Id, "active-battery-charge-faults", Attributes::ActiveBatteryChargeFaults::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // + make_unique(Id, "order", Attributes::Order::Id, credsIssuerConfig), // + make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "wired-assessed-input-voltage", Attributes::WiredAssessedInputVoltage::Id, + credsIssuerConfig), // + make_unique(Id, "wired-assessed-input-frequency", Attributes::WiredAssessedInputFrequency::Id, + credsIssuerConfig), // + make_unique(Id, "wired-current-type", Attributes::WiredCurrentType::Id, credsIssuerConfig), // + make_unique(Id, "wired-assessed-current", Attributes::WiredAssessedCurrent::Id, credsIssuerConfig), // + make_unique(Id, "wired-nominal-voltage", Attributes::WiredNominalVoltage::Id, credsIssuerConfig), // + make_unique(Id, "wired-maximum-current", Attributes::WiredMaximumCurrent::Id, credsIssuerConfig), // + make_unique(Id, "wired-present", Attributes::WiredPresent::Id, credsIssuerConfig), // + make_unique(Id, "active-wired-faults", Attributes::ActiveWiredFaults::Id, credsIssuerConfig), // + make_unique(Id, "battery-voltage", Attributes::BatteryVoltage::Id, credsIssuerConfig), // + make_unique(Id, "battery-percent-remaining", Attributes::BatteryPercentRemaining::Id, + credsIssuerConfig), // + make_unique(Id, "battery-time-remaining", Attributes::BatteryTimeRemaining::Id, credsIssuerConfig), // + make_unique(Id, "battery-charge-level", Attributes::BatteryChargeLevel::Id, credsIssuerConfig), // + make_unique(Id, "battery-replacement-needed", Attributes::BatteryReplacementNeeded::Id, + credsIssuerConfig), // + make_unique(Id, "battery-replaceability", Attributes::BatteryReplaceability::Id, credsIssuerConfig), // + make_unique(Id, "battery-present", Attributes::BatteryPresent::Id, credsIssuerConfig), // + make_unique(Id, "active-battery-faults", Attributes::ActiveBatteryFaults::Id, credsIssuerConfig), // + make_unique(Id, "battery-replacement-description", Attributes::BatteryReplacementDescription::Id, + credsIssuerConfig), // + make_unique(Id, "battery-common-designation", Attributes::BatteryCommonDesignation::Id, + credsIssuerConfig), // + make_unique(Id, "battery-ansidesignation", Attributes::BatteryANSIDesignation::Id, + credsIssuerConfig), // + make_unique(Id, "battery-iecdesignation", Attributes::BatteryIECDesignation::Id, credsIssuerConfig), // + make_unique(Id, "battery-approved-chemistry", Attributes::BatteryApprovedChemistry::Id, + credsIssuerConfig), // + make_unique(Id, "battery-capacity", Attributes::BatteryCapacity::Id, credsIssuerConfig), // + make_unique(Id, "battery-quantity", Attributes::BatteryQuantity::Id, credsIssuerConfig), // + make_unique(Id, "battery-charge-state", Attributes::BatteryChargeState::Id, credsIssuerConfig), // + make_unique(Id, "battery-time-to-full-charge", Attributes::BatteryTimeToFullCharge::Id, + credsIssuerConfig), // + make_unique(Id, "battery-functional-while-charging", Attributes::BatteryFunctionalWhileCharging::Id, + credsIssuerConfig), // + make_unique(Id, "battery-charging-current", Attributes::BatteryChargingCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "active-battery-charge-faults", Attributes::ActiveBatteryChargeFaults::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterGeneralCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::GeneralCommissioning; + + const char * clusterName = "GeneralCommissioning"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "breadcrumb", Attributes::Breadcrumb::Id, credsIssuerConfig), // + make_unique(Id, "basic-commissioning-info", Attributes::BasicCommissioningInfo::Id, credsIssuerConfig), // + make_unique(Id, "regulatory-config", Attributes::RegulatoryConfig::Id, credsIssuerConfig), // + make_unique(Id, "location-capability", Attributes::LocationCapability::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "breadcrumb", Attributes::Breadcrumb::Id, credsIssuerConfig), // + make_unique(Id, "basic-commissioning-info", Attributes::BasicCommissioningInfo::Id, + credsIssuerConfig), // + make_unique(Id, "regulatory-config", Attributes::RegulatoryConfig::Id, credsIssuerConfig), // + make_unique(Id, "location-capability", Attributes::LocationCapability::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterNetworkCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::NetworkCommissioning; + + const char * clusterName = "NetworkCommissioning"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), // + make_unique(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), // + make_unique(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), // + make_unique(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, credsIssuerConfig), // + make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // + make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), // + make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), // + make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), // + make_unique(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), // + make_unique(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), // + make_unique(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, + credsIssuerConfig), // + make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // + make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), // + make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), // + make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterDiagnosticLogs(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::DiagnosticLogs; + + const char * clusterName = "DiagnosticLogs"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::GeneralDiagnostics; + + const char * clusterName = "GeneralDiagnostics"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "network-interfaces", Attributes::NetworkInterfaces::Id, credsIssuerConfig), // + make_unique(Id, "reboot-count", Attributes::RebootCount::Id, credsIssuerConfig), // + make_unique(Id, "up-time", Attributes::UpTime::Id, credsIssuerConfig), // + make_unique(Id, "total-operational-hours", Attributes::TotalOperationalHours::Id, credsIssuerConfig), // + make_unique(Id, "boot-reasons", Attributes::BootReasons::Id, credsIssuerConfig), // + make_unique(Id, "active-hardware-faults", Attributes::ActiveHardwareFaults::Id, credsIssuerConfig), // + make_unique(Id, "active-radio-faults", Attributes::ActiveRadioFaults::Id, credsIssuerConfig), // + make_unique(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "network-interfaces", Attributes::NetworkInterfaces::Id, credsIssuerConfig), // + make_unique(Id, "reboot-count", Attributes::RebootCount::Id, credsIssuerConfig), // + make_unique(Id, "up-time", Attributes::UpTime::Id, credsIssuerConfig), // + make_unique(Id, "total-operational-hours", Attributes::TotalOperationalHours::Id, credsIssuerConfig), // + make_unique(Id, "boot-reasons", Attributes::BootReasons::Id, credsIssuerConfig), // + make_unique(Id, "active-hardware-faults", Attributes::ActiveHardwareFaults::Id, credsIssuerConfig), // + make_unique(Id, "active-radio-faults", Attributes::ActiveRadioFaults::Id, credsIssuerConfig), // + make_unique(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "hardware-fault-change", Events::HardwareFaultChange::Id, credsIssuerConfig), // + make_unique(Id, "radio-fault-change", Events::RadioFaultChange::Id, credsIssuerConfig), // + make_unique(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), // + make_unique(Id, "boot-reason", Events::BootReason::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "hardware-fault-change", Events::HardwareFaultChange::Id, credsIssuerConfig), // + make_unique(Id, "radio-fault-change", Events::RadioFaultChange::Id, credsIssuerConfig), // + make_unique(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), // + make_unique(Id, "boot-reason", Events::BootReason::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterSoftwareDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::SoftwareDiagnostics; + + const char * clusterName = "SoftwareDiagnostics"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "thread-metrics", Attributes::ThreadMetrics::Id, credsIssuerConfig), // + make_unique(Id, "current-heap-free", Attributes::CurrentHeapFree::Id, credsIssuerConfig), // + make_unique(Id, "current-heap-used", Attributes::CurrentHeapUsed::Id, credsIssuerConfig), // + make_unique(Id, "current-heap-high-watermark", Attributes::CurrentHeapHighWatermark::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "thread-metrics", Attributes::ThreadMetrics::Id, credsIssuerConfig), // + make_unique(Id, "current-heap-free", Attributes::CurrentHeapFree::Id, credsIssuerConfig), // + make_unique(Id, "current-heap-used", Attributes::CurrentHeapUsed::Id, credsIssuerConfig), // + make_unique(Id, "current-heap-high-watermark", Attributes::CurrentHeapHighWatermark::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "software-fault", Events::SoftwareFault::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "software-fault", Events::SoftwareFault::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterThreadNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ThreadNetworkDiagnostics; + + const char * clusterName = "ThreadNetworkDiagnostics"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "channel", Attributes::Channel::Id, credsIssuerConfig), // + make_unique(Id, "routing-role", Attributes::RoutingRole::Id, credsIssuerConfig), // + make_unique(Id, "network-name", Attributes::NetworkName::Id, credsIssuerConfig), // + make_unique(Id, "pan-id", Attributes::PanId::Id, credsIssuerConfig), // + make_unique(Id, "extended-pan-id", Attributes::ExtendedPanId::Id, credsIssuerConfig), // + make_unique(Id, "mesh-local-prefix", Attributes::MeshLocalPrefix::Id, credsIssuerConfig), // + make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + make_unique(Id, "neighbor-table-list", Attributes::NeighborTableList::Id, credsIssuerConfig), // + make_unique(Id, "route-table-list", Attributes::RouteTableList::Id, credsIssuerConfig), // + make_unique(Id, "partition-id", Attributes::PartitionId::Id, credsIssuerConfig), // + make_unique(Id, "weighting", Attributes::Weighting::Id, credsIssuerConfig), // + make_unique(Id, "data-version", Attributes::DataVersion::Id, credsIssuerConfig), // + make_unique(Id, "stable-data-version", Attributes::StableDataVersion::Id, credsIssuerConfig), // + make_unique(Id, "leader-router-id", Attributes::LeaderRouterId::Id, credsIssuerConfig), // + make_unique(Id, "detached-role-count", Attributes::DetachedRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "child-role-count", Attributes::ChildRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "router-role-count", Attributes::RouterRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "leader-role-count", Attributes::LeaderRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "attach-attempt-count", Attributes::AttachAttemptCount::Id, credsIssuerConfig), // + make_unique(Id, "partition-id-change-count", Attributes::PartitionIdChangeCount::Id, credsIssuerConfig), // + make_unique(Id, "better-partition-attach-attempt-count", Attributes::BetterPartitionAttachAttemptCount::Id, + credsIssuerConfig), // + make_unique(Id, "parent-change-count", Attributes::ParentChangeCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-total-count", Attributes::TxTotalCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-unicast-count", Attributes::TxUnicastCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-broadcast-count", Attributes::TxBroadcastCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-ack-requested-count", Attributes::TxAckRequestedCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-acked-count", Attributes::TxAckedCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-no-ack-requested-count", Attributes::TxNoAckRequestedCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-data-count", Attributes::TxDataCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-data-poll-count", Attributes::TxDataPollCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-beacon-count", Attributes::TxBeaconCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-beacon-request-count", Attributes::TxBeaconRequestCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-other-count", Attributes::TxOtherCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-retry-count", Attributes::TxRetryCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-direct-max-retry-expiry-count", Attributes::TxDirectMaxRetryExpiryCount::Id, + credsIssuerConfig), // + make_unique(Id, "tx-indirect-max-retry-expiry-count", Attributes::TxIndirectMaxRetryExpiryCount::Id, + credsIssuerConfig), // + make_unique(Id, "tx-err-cca-count", Attributes::TxErrCcaCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-err-abort-count", Attributes::TxErrAbortCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-err-busy-channel-count", Attributes::TxErrBusyChannelCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-total-count", Attributes::RxTotalCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-unicast-count", Attributes::RxUnicastCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-broadcast-count", Attributes::RxBroadcastCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-data-count", Attributes::RxDataCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-data-poll-count", Attributes::RxDataPollCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-beacon-count", Attributes::RxBeaconCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-beacon-request-count", Attributes::RxBeaconRequestCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-other-count", Attributes::RxOtherCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-address-filtered-count", Attributes::RxAddressFilteredCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-dest-addr-filtered-count", Attributes::RxDestAddrFilteredCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-duplicated-count", Attributes::RxDuplicatedCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-no-frame-count", Attributes::RxErrNoFrameCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-unknown-neighbor-count", Attributes::RxErrUnknownNeighborCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-err-invalid-src-addr-count", Attributes::RxErrInvalidSrcAddrCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-err-sec-count", Attributes::RxErrSecCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-fcs-count", Attributes::RxErrFcsCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-other-count", Attributes::RxErrOtherCount::Id, credsIssuerConfig), // + make_unique(Id, "active-timestamp", Attributes::ActiveTimestamp::Id, credsIssuerConfig), // + make_unique(Id, "pending-timestamp", Attributes::PendingTimestamp::Id, credsIssuerConfig), // + make_unique(Id, "delay", Attributes::Delay::Id, credsIssuerConfig), // + make_unique(Id, "security-policy", Attributes::SecurityPolicy::Id, credsIssuerConfig), // + make_unique(Id, "channel-mask", Attributes::ChannelMask::Id, credsIssuerConfig), // + make_unique(Id, "operational-dataset-components", Attributes::OperationalDatasetComponents::Id, + credsIssuerConfig), // + make_unique(Id, "active-network-faults-list", Attributes::ActiveNetworkFaultsList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "channel", Attributes::Channel::Id, credsIssuerConfig), // + make_unique(Id, "routing-role", Attributes::RoutingRole::Id, credsIssuerConfig), // + make_unique(Id, "network-name", Attributes::NetworkName::Id, credsIssuerConfig), // + make_unique(Id, "pan-id", Attributes::PanId::Id, credsIssuerConfig), // + make_unique(Id, "extended-pan-id", Attributes::ExtendedPanId::Id, credsIssuerConfig), // + make_unique(Id, "mesh-local-prefix", Attributes::MeshLocalPrefix::Id, credsIssuerConfig), // + make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + make_unique(Id, "neighbor-table-list", Attributes::NeighborTableList::Id, credsIssuerConfig), // + make_unique(Id, "route-table-list", Attributes::RouteTableList::Id, credsIssuerConfig), // + make_unique(Id, "partition-id", Attributes::PartitionId::Id, credsIssuerConfig), // + make_unique(Id, "weighting", Attributes::Weighting::Id, credsIssuerConfig), // + make_unique(Id, "data-version", Attributes::DataVersion::Id, credsIssuerConfig), // + make_unique(Id, "stable-data-version", Attributes::StableDataVersion::Id, credsIssuerConfig), // + make_unique(Id, "leader-router-id", Attributes::LeaderRouterId::Id, credsIssuerConfig), // + make_unique(Id, "detached-role-count", Attributes::DetachedRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "child-role-count", Attributes::ChildRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "router-role-count", Attributes::RouterRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "leader-role-count", Attributes::LeaderRoleCount::Id, credsIssuerConfig), // + make_unique(Id, "attach-attempt-count", Attributes::AttachAttemptCount::Id, credsIssuerConfig), // + make_unique(Id, "partition-id-change-count", Attributes::PartitionIdChangeCount::Id, + credsIssuerConfig), // + make_unique(Id, "better-partition-attach-attempt-count", + Attributes::BetterPartitionAttachAttemptCount::Id, credsIssuerConfig), // + make_unique(Id, "parent-change-count", Attributes::ParentChangeCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-total-count", Attributes::TxTotalCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-unicast-count", Attributes::TxUnicastCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-broadcast-count", Attributes::TxBroadcastCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-ack-requested-count", Attributes::TxAckRequestedCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-acked-count", Attributes::TxAckedCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-no-ack-requested-count", Attributes::TxNoAckRequestedCount::Id, + credsIssuerConfig), // + make_unique(Id, "tx-data-count", Attributes::TxDataCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-data-poll-count", Attributes::TxDataPollCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-beacon-count", Attributes::TxBeaconCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-beacon-request-count", Attributes::TxBeaconRequestCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-other-count", Attributes::TxOtherCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-retry-count", Attributes::TxRetryCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-direct-max-retry-expiry-count", Attributes::TxDirectMaxRetryExpiryCount::Id, + credsIssuerConfig), // + make_unique(Id, "tx-indirect-max-retry-expiry-count", Attributes::TxIndirectMaxRetryExpiryCount::Id, + credsIssuerConfig), // + make_unique(Id, "tx-err-cca-count", Attributes::TxErrCcaCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-err-abort-count", Attributes::TxErrAbortCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-err-busy-channel-count", Attributes::TxErrBusyChannelCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-total-count", Attributes::RxTotalCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-unicast-count", Attributes::RxUnicastCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-broadcast-count", Attributes::RxBroadcastCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-data-count", Attributes::RxDataCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-data-poll-count", Attributes::RxDataPollCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-beacon-count", Attributes::RxBeaconCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-beacon-request-count", Attributes::RxBeaconRequestCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-other-count", Attributes::RxOtherCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-address-filtered-count", Attributes::RxAddressFilteredCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-dest-addr-filtered-count", Attributes::RxDestAddrFilteredCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-duplicated-count", Attributes::RxDuplicatedCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-no-frame-count", Attributes::RxErrNoFrameCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-unknown-neighbor-count", Attributes::RxErrUnknownNeighborCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-err-invalid-src-addr-count", Attributes::RxErrInvalidSrcAddrCount::Id, + credsIssuerConfig), // + make_unique(Id, "rx-err-sec-count", Attributes::RxErrSecCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-fcs-count", Attributes::RxErrFcsCount::Id, credsIssuerConfig), // + make_unique(Id, "rx-err-other-count", Attributes::RxErrOtherCount::Id, credsIssuerConfig), // + make_unique(Id, "active-timestamp", Attributes::ActiveTimestamp::Id, credsIssuerConfig), // + make_unique(Id, "pending-timestamp", Attributes::PendingTimestamp::Id, credsIssuerConfig), // + make_unique(Id, "delay", Attributes::Delay::Id, credsIssuerConfig), // + make_unique(Id, "security-policy", Attributes::SecurityPolicy::Id, credsIssuerConfig), // + make_unique(Id, "channel-mask", Attributes::ChannelMask::Id, credsIssuerConfig), // + make_unique(Id, "operational-dataset-components", Attributes::OperationalDatasetComponents::Id, + credsIssuerConfig), // + make_unique(Id, "active-network-faults-list", Attributes::ActiveNetworkFaultsList::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterWiFiNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::WiFiNetworkDiagnostics; + + const char * clusterName = "WiFiNetworkDiagnostics"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "bssid", Attributes::Bssid::Id, credsIssuerConfig), // + make_unique(Id, "security-type", Attributes::SecurityType::Id, credsIssuerConfig), // + make_unique(Id, "wi-fi-version", Attributes::WiFiVersion::Id, credsIssuerConfig), // + make_unique(Id, "channel-number", Attributes::ChannelNumber::Id, credsIssuerConfig), // + make_unique(Id, "rssi", Attributes::Rssi::Id, credsIssuerConfig), // + make_unique(Id, "beacon-lost-count", Attributes::BeaconLostCount::Id, credsIssuerConfig), // + make_unique(Id, "beacon-rx-count", Attributes::BeaconRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-multicast-rx-count", Attributes::PacketMulticastRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-multicast-tx-count", Attributes::PacketMulticastTxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-unicast-rx-count", Attributes::PacketUnicastRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-unicast-tx-count", Attributes::PacketUnicastTxCount::Id, credsIssuerConfig), // + make_unique(Id, "current-max-rate", Attributes::CurrentMaxRate::Id, credsIssuerConfig), // + make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "bssid", Attributes::Bssid::Id, credsIssuerConfig), // + make_unique(Id, "security-type", Attributes::SecurityType::Id, credsIssuerConfig), // + make_unique(Id, "wi-fi-version", Attributes::WiFiVersion::Id, credsIssuerConfig), // + make_unique(Id, "channel-number", Attributes::ChannelNumber::Id, credsIssuerConfig), // + make_unique(Id, "rssi", Attributes::Rssi::Id, credsIssuerConfig), // + make_unique(Id, "beacon-lost-count", Attributes::BeaconLostCount::Id, credsIssuerConfig), // + make_unique(Id, "beacon-rx-count", Attributes::BeaconRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-multicast-rx-count", Attributes::PacketMulticastRxCount::Id, + credsIssuerConfig), // + make_unique(Id, "packet-multicast-tx-count", Attributes::PacketMulticastTxCount::Id, + credsIssuerConfig), // + make_unique(Id, "packet-unicast-rx-count", Attributes::PacketUnicastRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-unicast-tx-count", Attributes::PacketUnicastTxCount::Id, credsIssuerConfig), // + make_unique(Id, "current-max-rate", Attributes::CurrentMaxRate::Id, credsIssuerConfig), // + make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "disconnection", Events::Disconnection::Id, credsIssuerConfig), // + make_unique(Id, "association-failure", Events::AssociationFailure::Id, credsIssuerConfig), // + make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "disconnection", Events::Disconnection::Id, credsIssuerConfig), // + make_unique(Id, "association-failure", Events::AssociationFailure::Id, credsIssuerConfig), // + make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterEthernetNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::EthernetNetworkDiagnostics; + + const char * clusterName = "EthernetNetworkDiagnostics"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "phyrate", Attributes::PHYRate::Id, credsIssuerConfig), // + make_unique(Id, "full-duplex", Attributes::FullDuplex::Id, credsIssuerConfig), // + make_unique(Id, "packet-rx-count", Attributes::PacketRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-tx-count", Attributes::PacketTxCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-err-count", Attributes::TxErrCount::Id, credsIssuerConfig), // + make_unique(Id, "collision-count", Attributes::CollisionCount::Id, credsIssuerConfig), // + make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + make_unique(Id, "carrier-detect", Attributes::CarrierDetect::Id, credsIssuerConfig), // + make_unique(Id, "time-since-reset", Attributes::TimeSinceReset::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "phyrate", Attributes::PHYRate::Id, credsIssuerConfig), // + make_unique(Id, "full-duplex", Attributes::FullDuplex::Id, credsIssuerConfig), // + make_unique(Id, "packet-rx-count", Attributes::PacketRxCount::Id, credsIssuerConfig), // + make_unique(Id, "packet-tx-count", Attributes::PacketTxCount::Id, credsIssuerConfig), // + make_unique(Id, "tx-err-count", Attributes::TxErrCount::Id, credsIssuerConfig), // + make_unique(Id, "collision-count", Attributes::CollisionCount::Id, credsIssuerConfig), // + make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + make_unique(Id, "carrier-detect", Attributes::CarrierDetect::Id, credsIssuerConfig), // + make_unique(Id, "time-since-reset", Attributes::TimeSinceReset::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TimeSynchronization; + + const char * clusterName = "TimeSynchronization"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBridgedDeviceBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BridgedDeviceBasic; + + const char * clusterName = "BridgedDeviceBasic"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // + make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // + make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // + make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // + make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // + make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // + make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // + make_unique(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), // + make_unique(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), // + make_unique(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), // + make_unique(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), // + make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // + make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // + make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // + make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // + make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // + make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // + make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), // + make_unique(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), // + make_unique(Id, "leave", Events::Leave::Id, credsIssuerConfig), // + make_unique(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterSwitch(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Switch; + + const char * clusterName = "Switch"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "number-of-positions", Attributes::NumberOfPositions::Id, credsIssuerConfig), // + make_unique(Id, "current-position", Attributes::CurrentPosition::Id, credsIssuerConfig), // + make_unique(Id, "multi-press-max", Attributes::MultiPressMax::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "number-of-positions", Attributes::NumberOfPositions::Id, credsIssuerConfig), // + make_unique(Id, "current-position", Attributes::CurrentPosition::Id, credsIssuerConfig), // + make_unique(Id, "multi-press-max", Attributes::MultiPressMax::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "switch-latched", Events::SwitchLatched::Id, credsIssuerConfig), // + make_unique(Id, "initial-press", Events::InitialPress::Id, credsIssuerConfig), // + make_unique(Id, "long-press", Events::LongPress::Id, credsIssuerConfig), // + make_unique(Id, "short-release", Events::ShortRelease::Id, credsIssuerConfig), // + make_unique(Id, "long-release", Events::LongRelease::Id, credsIssuerConfig), // + make_unique(Id, "multi-press-ongoing", Events::MultiPressOngoing::Id, credsIssuerConfig), // + make_unique(Id, "multi-press-complete", Events::MultiPressComplete::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "switch-latched", Events::SwitchLatched::Id, credsIssuerConfig), // + make_unique(Id, "initial-press", Events::InitialPress::Id, credsIssuerConfig), // + make_unique(Id, "long-press", Events::LongPress::Id, credsIssuerConfig), // + make_unique(Id, "short-release", Events::ShortRelease::Id, credsIssuerConfig), // + make_unique(Id, "long-release", Events::LongRelease::Id, credsIssuerConfig), // + make_unique(Id, "multi-press-ongoing", Events::MultiPressOngoing::Id, credsIssuerConfig), // + make_unique(Id, "multi-press-complete", Events::MultiPressComplete::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterAdministratorCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::AdministratorCommissioning; + + const char * clusterName = "AdministratorCommissioning"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "window-status", Attributes::WindowStatus::Id, credsIssuerConfig), // + make_unique(Id, "admin-fabric-index", Attributes::AdminFabricIndex::Id, credsIssuerConfig), // + make_unique(Id, "admin-vendor-id", Attributes::AdminVendorId::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "window-status", Attributes::WindowStatus::Id, credsIssuerConfig), // + make_unique(Id, "admin-fabric-index", Attributes::AdminFabricIndex::Id, credsIssuerConfig), // + make_unique(Id, "admin-vendor-id", Attributes::AdminVendorId::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOperationalCredentials(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OperationalCredentials; + + const char * clusterName = "OperationalCredentials"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), // + make_unique(Id, "fabrics-list", Attributes::FabricsList::Id, credsIssuerConfig), // + make_unique(Id, "supported-fabrics", Attributes::SupportedFabrics::Id, credsIssuerConfig), // + make_unique(Id, "commissioned-fabrics", Attributes::CommissionedFabrics::Id, credsIssuerConfig), // + make_unique(Id, "trusted-root-certificates", Attributes::TrustedRootCertificates::Id, credsIssuerConfig), // + make_unique(Id, "current-fabric-index", Attributes::CurrentFabricIndex::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), // + make_unique(Id, "fabrics-list", Attributes::FabricsList::Id, credsIssuerConfig), // + make_unique(Id, "supported-fabrics", Attributes::SupportedFabrics::Id, credsIssuerConfig), // + make_unique(Id, "commissioned-fabrics", Attributes::CommissionedFabrics::Id, credsIssuerConfig), // + make_unique(Id, "trusted-root-certificates", Attributes::TrustedRootCertificates::Id, + credsIssuerConfig), // + make_unique(Id, "current-fabric-index", Attributes::CurrentFabricIndex::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterGroupKeyManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::GroupKeyManagement; + + const char * clusterName = "GroupKeyManagement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), // + make_unique(Id, "group-table", Attributes::GroupTable::Id, credsIssuerConfig), // + make_unique(Id, "max-groups-per-fabric", Attributes::MaxGroupsPerFabric::Id, credsIssuerConfig), // + make_unique(Id, "max-group-keys-per-fabric", Attributes::MaxGroupKeysPerFabric::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), // + make_unique(Id, "group-table", Attributes::GroupTable::Id, credsIssuerConfig), // + make_unique(Id, "max-groups-per-fabric", Attributes::MaxGroupsPerFabric::Id, credsIssuerConfig), // + make_unique(Id, "max-group-keys-per-fabric", Attributes::MaxGroupKeysPerFabric::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterFixedLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::FixedLabel; + + const char * clusterName = "FixedLabel"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterUserLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::UserLabel; + + const char * clusterName = "UserLabel"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterProxyConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ProxyConfiguration; + + const char * clusterName = "ProxyConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterProxyDiscovery(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ProxyDiscovery; + + const char * clusterName = "ProxyDiscovery"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterProxyValid(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ProxyValid; + + const char * clusterName = "ProxyValid"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBooleanState(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BooleanState; + + const char * clusterName = "BooleanState"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-value", Attributes::StateValue::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-value", Attributes::StateValue::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-change", Events::StateChange::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-change", Events::StateChange::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterModeSelect(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ModeSelect; + + const char * clusterName = "ModeSelect"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // + make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // + make_unique(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), // + make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // + make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // + make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // + make_unique(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), // + make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // + make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterShadeConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ShadeConfiguration; + + const char * clusterName = "ShadeConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "physical-closed-limit", Attributes::PhysicalClosedLimit::Id, credsIssuerConfig), // + make_unique(Id, "motor-step-size", Attributes::MotorStepSize::Id, credsIssuerConfig), // + make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // + make_unique(Id, "closed-limit", Attributes::ClosedLimit::Id, credsIssuerConfig), // + make_unique(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "physical-closed-limit", Attributes::PhysicalClosedLimit::Id, credsIssuerConfig), // + make_unique(Id, "motor-step-size", Attributes::MotorStepSize::Id, credsIssuerConfig), // + make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // + make_unique(Id, "closed-limit", Attributes::ClosedLimit::Id, credsIssuerConfig), // + make_unique(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterDoorLock(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::DoorLock; + + const char * clusterName = "DoorLock"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "lock-state", Attributes::LockState::Id, credsIssuerConfig), // + make_unique(Id, "lock-type", Attributes::LockType::Id, credsIssuerConfig), // + make_unique(Id, "actuator-enabled", Attributes::ActuatorEnabled::Id, credsIssuerConfig), // + make_unique(Id, "door-state", Attributes::DoorState::Id, credsIssuerConfig), // + make_unique(Id, "door-open-events", Attributes::DoorOpenEvents::Id, credsIssuerConfig), // + make_unique(Id, "door-closed-events", Attributes::DoorClosedEvents::Id, credsIssuerConfig), // + make_unique(Id, "open-period", Attributes::OpenPeriod::Id, credsIssuerConfig), // + make_unique(Id, "number-of-log-records-supported", Attributes::NumberOfLogRecordsSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-total-users-supported", Attributes::NumberOfTotalUsersSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-pinusers-supported", Attributes::NumberOfPINUsersSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-rfidusers-supported", Attributes::NumberOfRFIDUsersSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-week-day-schedules-supported-per-user", + Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // + make_unique(Id, "number-of-year-day-schedules-supported-per-user", + Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // + make_unique(Id, "number-of-holiday-schedules-supported", Attributes::NumberOfHolidaySchedulesSupported::Id, + credsIssuerConfig), // + make_unique(Id, "max-pincode-length", Attributes::MaxPINCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "min-pincode-length", Attributes::MinPINCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "max-rfidcode-length", Attributes::MaxRFIDCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "min-rfidcode-length", Attributes::MinRFIDCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "credential-rules-support", Attributes::CredentialRulesSupport::Id, credsIssuerConfig), // + make_unique(Id, "enable-logging", Attributes::EnableLogging::Id, credsIssuerConfig), // + make_unique(Id, "language", Attributes::Language::Id, credsIssuerConfig), // + make_unique(Id, "ledsettings", Attributes::LEDSettings::Id, credsIssuerConfig), // + make_unique(Id, "auto-relock-time", Attributes::AutoRelockTime::Id, credsIssuerConfig), // + make_unique(Id, "sound-volume", Attributes::SoundVolume::Id, credsIssuerConfig), // + make_unique(Id, "operating-mode", Attributes::OperatingMode::Id, credsIssuerConfig), // + make_unique(Id, "supported-operating-modes", Attributes::SupportedOperatingModes::Id, credsIssuerConfig), // + make_unique(Id, "default-configuration-register", Attributes::DefaultConfigurationRegister::Id, + credsIssuerConfig), // + make_unique(Id, "enable-local-programming", Attributes::EnableLocalProgramming::Id, credsIssuerConfig), // + make_unique(Id, "enable-one-touch-locking", Attributes::EnableOneTouchLocking::Id, credsIssuerConfig), // + make_unique(Id, "enable-inside-status-led", Attributes::EnableInsideStatusLED::Id, credsIssuerConfig), // + make_unique(Id, "enable-privacy-mode-button", Attributes::EnablePrivacyModeButton::Id, credsIssuerConfig), // + make_unique(Id, "local-programming-features", Attributes::LocalProgrammingFeatures::Id, + credsIssuerConfig), // + make_unique(Id, "wrong-code-entry-limit", Attributes::WrongCodeEntryLimit::Id, credsIssuerConfig), // + make_unique(Id, "user-code-temporary-disable-time", Attributes::UserCodeTemporaryDisableTime::Id, + credsIssuerConfig), // + make_unique(Id, "send-pinover-the-air", Attributes::SendPINOverTheAir::Id, credsIssuerConfig), // + make_unique(Id, "require-pinfor-remote-operation", Attributes::RequirePINforRemoteOperation::Id, + credsIssuerConfig), // + make_unique(Id, "expiring-user-timeout", Attributes::ExpiringUserTimeout::Id, credsIssuerConfig), // + make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "keypad-operation-event-mask", Attributes::KeypadOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "remote-operation-event-mask", Attributes::RemoteOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "manual-operation-event-mask", Attributes::ManualOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "rfidoperation-event-mask", Attributes::RFIDOperationEventMask::Id, credsIssuerConfig), // + make_unique(Id, "keypad-programming-event-mask", Attributes::KeypadProgrammingEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "remote-programming-event-mask", Attributes::RemoteProgrammingEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "rfidprogramming-event-mask", Attributes::RFIDProgrammingEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "lock-state", Attributes::LockState::Id, credsIssuerConfig), // + make_unique(Id, "lock-type", Attributes::LockType::Id, credsIssuerConfig), // + make_unique(Id, "actuator-enabled", Attributes::ActuatorEnabled::Id, credsIssuerConfig), // + make_unique(Id, "door-state", Attributes::DoorState::Id, credsIssuerConfig), // + make_unique(Id, "door-open-events", Attributes::DoorOpenEvents::Id, credsIssuerConfig), // + make_unique(Id, "door-closed-events", Attributes::DoorClosedEvents::Id, credsIssuerConfig), // + make_unique(Id, "open-period", Attributes::OpenPeriod::Id, credsIssuerConfig), // + make_unique(Id, "number-of-log-records-supported", Attributes::NumberOfLogRecordsSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-total-users-supported", Attributes::NumberOfTotalUsersSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-pinusers-supported", Attributes::NumberOfPINUsersSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-rfidusers-supported", Attributes::NumberOfRFIDUsersSupported::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-week-day-schedules-supported-per-user", + Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // + make_unique(Id, "number-of-year-day-schedules-supported-per-user", + Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, credsIssuerConfig), // + make_unique(Id, "number-of-holiday-schedules-supported", + Attributes::NumberOfHolidaySchedulesSupported::Id, credsIssuerConfig), // + make_unique(Id, "max-pincode-length", Attributes::MaxPINCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "min-pincode-length", Attributes::MinPINCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "max-rfidcode-length", Attributes::MaxRFIDCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "min-rfidcode-length", Attributes::MinRFIDCodeLength::Id, credsIssuerConfig), // + make_unique(Id, "credential-rules-support", Attributes::CredentialRulesSupport::Id, + credsIssuerConfig), // + make_unique(Id, "enable-logging", Attributes::EnableLogging::Id, credsIssuerConfig), // + make_unique(Id, "language", Attributes::Language::Id, credsIssuerConfig), // + make_unique(Id, "ledsettings", Attributes::LEDSettings::Id, credsIssuerConfig), // + make_unique(Id, "auto-relock-time", Attributes::AutoRelockTime::Id, credsIssuerConfig), // + make_unique(Id, "sound-volume", Attributes::SoundVolume::Id, credsIssuerConfig), // + make_unique(Id, "operating-mode", Attributes::OperatingMode::Id, credsIssuerConfig), // + make_unique(Id, "supported-operating-modes", Attributes::SupportedOperatingModes::Id, + credsIssuerConfig), // + make_unique(Id, "default-configuration-register", Attributes::DefaultConfigurationRegister::Id, + credsIssuerConfig), // + make_unique(Id, "enable-local-programming", Attributes::EnableLocalProgramming::Id, + credsIssuerConfig), // + make_unique(Id, "enable-one-touch-locking", Attributes::EnableOneTouchLocking::Id, + credsIssuerConfig), // + make_unique(Id, "enable-inside-status-led", Attributes::EnableInsideStatusLED::Id, + credsIssuerConfig), // + make_unique(Id, "enable-privacy-mode-button", Attributes::EnablePrivacyModeButton::Id, + credsIssuerConfig), // + make_unique(Id, "local-programming-features", Attributes::LocalProgrammingFeatures::Id, + credsIssuerConfig), // + make_unique(Id, "wrong-code-entry-limit", Attributes::WrongCodeEntryLimit::Id, credsIssuerConfig), // + make_unique(Id, "user-code-temporary-disable-time", Attributes::UserCodeTemporaryDisableTime::Id, + credsIssuerConfig), // + make_unique(Id, "send-pinover-the-air", Attributes::SendPINOverTheAir::Id, credsIssuerConfig), // + make_unique(Id, "require-pinfor-remote-operation", Attributes::RequirePINforRemoteOperation::Id, + credsIssuerConfig), // + make_unique(Id, "expiring-user-timeout", Attributes::ExpiringUserTimeout::Id, credsIssuerConfig), // + make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "keypad-operation-event-mask", Attributes::KeypadOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "remote-operation-event-mask", Attributes::RemoteOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "manual-operation-event-mask", Attributes::ManualOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "rfidoperation-event-mask", Attributes::RFIDOperationEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "keypad-programming-event-mask", Attributes::KeypadProgrammingEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "remote-programming-event-mask", Attributes::RemoteProgrammingEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "rfidprogramming-event-mask", Attributes::RFIDProgrammingEventMask::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "door-lock-alarm", Events::DoorLockAlarm::Id, credsIssuerConfig), // + make_unique(Id, "door-state-change", Events::DoorStateChange::Id, credsIssuerConfig), // + make_unique(Id, "lock-operation", Events::LockOperation::Id, credsIssuerConfig), // + make_unique(Id, "lock-operation-error", Events::LockOperationError::Id, credsIssuerConfig), // + make_unique(Id, "lock-user-change", Events::LockUserChange::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "door-lock-alarm", Events::DoorLockAlarm::Id, credsIssuerConfig), // + make_unique(Id, "door-state-change", Events::DoorStateChange::Id, credsIssuerConfig), // + make_unique(Id, "lock-operation", Events::LockOperation::Id, credsIssuerConfig), // + make_unique(Id, "lock-operation-error", Events::LockOperationError::Id, credsIssuerConfig), // + make_unique(Id, "lock-user-change", Events::LockUserChange::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::WindowCovering; + + const char * clusterName = "WindowCovering"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "type", Attributes::Type::Id, credsIssuerConfig), // + make_unique(Id, "physical-closed-limit-lift", Attributes::PhysicalClosedLimitLift::Id, credsIssuerConfig), // + make_unique(Id, "physical-closed-limit-tilt", Attributes::PhysicalClosedLimitTilt::Id, credsIssuerConfig), // + make_unique(Id, "current-position-lift", Attributes::CurrentPositionLift::Id, credsIssuerConfig), // + make_unique(Id, "current-position-tilt", Attributes::CurrentPositionTilt::Id, credsIssuerConfig), // + make_unique(Id, "number-of-actuations-lift", Attributes::NumberOfActuationsLift::Id, credsIssuerConfig), // + make_unique(Id, "number-of-actuations-tilt", Attributes::NumberOfActuationsTilt::Id, credsIssuerConfig), // + make_unique(Id, "config-status", Attributes::ConfigStatus::Id, credsIssuerConfig), // + make_unique(Id, "current-position-lift-percentage", Attributes::CurrentPositionLiftPercentage::Id, + credsIssuerConfig), // + make_unique(Id, "current-position-tilt-percentage", Attributes::CurrentPositionTiltPercentage::Id, + credsIssuerConfig), // + make_unique(Id, "operational-status", Attributes::OperationalStatus::Id, credsIssuerConfig), // + make_unique(Id, "target-position-lift-percent100ths", Attributes::TargetPositionLiftPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "target-position-tilt-percent100ths", Attributes::TargetPositionTiltPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "end-product-type", Attributes::EndProductType::Id, credsIssuerConfig), // + make_unique(Id, "current-position-lift-percent100ths", Attributes::CurrentPositionLiftPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "current-position-tilt-percent100ths", Attributes::CurrentPositionTiltPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "installed-open-limit-lift", Attributes::InstalledOpenLimitLift::Id, credsIssuerConfig), // + make_unique(Id, "installed-closed-limit-lift", Attributes::InstalledClosedLimitLift::Id, + credsIssuerConfig), // + make_unique(Id, "installed-open-limit-tilt", Attributes::InstalledOpenLimitTilt::Id, credsIssuerConfig), // + make_unique(Id, "installed-closed-limit-tilt", Attributes::InstalledClosedLimitTilt::Id, + credsIssuerConfig), // + make_unique(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), // + make_unique(Id, "safety-status", Attributes::SafetyStatus::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "type", Attributes::Type::Id, credsIssuerConfig), // + make_unique(Id, "physical-closed-limit-lift", Attributes::PhysicalClosedLimitLift::Id, + credsIssuerConfig), // + make_unique(Id, "physical-closed-limit-tilt", Attributes::PhysicalClosedLimitTilt::Id, + credsIssuerConfig), // + make_unique(Id, "current-position-lift", Attributes::CurrentPositionLift::Id, credsIssuerConfig), // + make_unique(Id, "current-position-tilt", Attributes::CurrentPositionTilt::Id, credsIssuerConfig), // + make_unique(Id, "number-of-actuations-lift", Attributes::NumberOfActuationsLift::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-actuations-tilt", Attributes::NumberOfActuationsTilt::Id, + credsIssuerConfig), // + make_unique(Id, "config-status", Attributes::ConfigStatus::Id, credsIssuerConfig), // + make_unique(Id, "current-position-lift-percentage", Attributes::CurrentPositionLiftPercentage::Id, + credsIssuerConfig), // + make_unique(Id, "current-position-tilt-percentage", Attributes::CurrentPositionTiltPercentage::Id, + credsIssuerConfig), // + make_unique(Id, "operational-status", Attributes::OperationalStatus::Id, credsIssuerConfig), // + make_unique(Id, "target-position-lift-percent100ths", Attributes::TargetPositionLiftPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "target-position-tilt-percent100ths", Attributes::TargetPositionTiltPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "end-product-type", Attributes::EndProductType::Id, credsIssuerConfig), // + make_unique(Id, "current-position-lift-percent100ths", Attributes::CurrentPositionLiftPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "current-position-tilt-percent100ths", Attributes::CurrentPositionTiltPercent100ths::Id, + credsIssuerConfig), // + make_unique(Id, "installed-open-limit-lift", Attributes::InstalledOpenLimitLift::Id, + credsIssuerConfig), // + make_unique(Id, "installed-closed-limit-lift", Attributes::InstalledClosedLimitLift::Id, + credsIssuerConfig), // + make_unique(Id, "installed-open-limit-tilt", Attributes::InstalledOpenLimitTilt::Id, + credsIssuerConfig), // + make_unique(Id, "installed-closed-limit-tilt", Attributes::InstalledClosedLimitTilt::Id, + credsIssuerConfig), // + make_unique(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), // + make_unique(Id, "safety-status", Attributes::SafetyStatus::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBarrierControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BarrierControl; + + const char * clusterName = "BarrierControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "barrier-moving-state", Attributes::BarrierMovingState::Id, credsIssuerConfig), // + make_unique(Id, "barrier-safety-status", Attributes::BarrierSafetyStatus::Id, credsIssuerConfig), // + make_unique(Id, "barrier-capabilities", Attributes::BarrierCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "barrier-open-events", Attributes::BarrierOpenEvents::Id, credsIssuerConfig), // + make_unique(Id, "barrier-close-events", Attributes::BarrierCloseEvents::Id, credsIssuerConfig), // + make_unique(Id, "barrier-command-open-events", Attributes::BarrierCommandOpenEvents::Id, + credsIssuerConfig), // + make_unique(Id, "barrier-command-close-events", Attributes::BarrierCommandCloseEvents::Id, + credsIssuerConfig), // + make_unique(Id, "barrier-open-period", Attributes::BarrierOpenPeriod::Id, credsIssuerConfig), // + make_unique(Id, "barrier-close-period", Attributes::BarrierClosePeriod::Id, credsIssuerConfig), // + make_unique(Id, "barrier-position", Attributes::BarrierPosition::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "barrier-moving-state", Attributes::BarrierMovingState::Id, credsIssuerConfig), // + make_unique(Id, "barrier-safety-status", Attributes::BarrierSafetyStatus::Id, credsIssuerConfig), // + make_unique(Id, "barrier-capabilities", Attributes::BarrierCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "barrier-open-events", Attributes::BarrierOpenEvents::Id, credsIssuerConfig), // + make_unique(Id, "barrier-close-events", Attributes::BarrierCloseEvents::Id, credsIssuerConfig), // + make_unique(Id, "barrier-command-open-events", Attributes::BarrierCommandOpenEvents::Id, + credsIssuerConfig), // + make_unique(Id, "barrier-command-close-events", Attributes::BarrierCommandCloseEvents::Id, + credsIssuerConfig), // + make_unique(Id, "barrier-open-period", Attributes::BarrierOpenPeriod::Id, credsIssuerConfig), // + make_unique(Id, "barrier-close-period", Attributes::BarrierClosePeriod::Id, credsIssuerConfig), // + make_unique(Id, "barrier-position", Attributes::BarrierPosition::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPumpConfigurationAndControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PumpConfigurationAndControl; + + const char * clusterName = "PumpConfigurationAndControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-pressure", Attributes::MaxPressure::Id, credsIssuerConfig), // + make_unique(Id, "max-speed", Attributes::MaxSpeed::Id, credsIssuerConfig), // + make_unique(Id, "max-flow", Attributes::MaxFlow::Id, credsIssuerConfig), // + make_unique(Id, "min-const-pressure", Attributes::MinConstPressure::Id, credsIssuerConfig), // + make_unique(Id, "max-const-pressure", Attributes::MaxConstPressure::Id, credsIssuerConfig), // + make_unique(Id, "min-comp-pressure", Attributes::MinCompPressure::Id, credsIssuerConfig), // + make_unique(Id, "max-comp-pressure", Attributes::MaxCompPressure::Id, credsIssuerConfig), // + make_unique(Id, "min-const-speed", Attributes::MinConstSpeed::Id, credsIssuerConfig), // + make_unique(Id, "max-const-speed", Attributes::MaxConstSpeed::Id, credsIssuerConfig), // + make_unique(Id, "min-const-flow", Attributes::MinConstFlow::Id, credsIssuerConfig), // + make_unique(Id, "max-const-flow", Attributes::MaxConstFlow::Id, credsIssuerConfig), // + make_unique(Id, "min-const-temp", Attributes::MinConstTemp::Id, credsIssuerConfig), // + make_unique(Id, "max-const-temp", Attributes::MaxConstTemp::Id, credsIssuerConfig), // + make_unique(Id, "pump-status", Attributes::PumpStatus::Id, credsIssuerConfig), // + make_unique(Id, "effective-operation-mode", Attributes::EffectiveOperationMode::Id, credsIssuerConfig), // + make_unique(Id, "effective-control-mode", Attributes::EffectiveControlMode::Id, credsIssuerConfig), // + make_unique(Id, "capacity", Attributes::Capacity::Id, credsIssuerConfig), // + make_unique(Id, "speed", Attributes::Speed::Id, credsIssuerConfig), // + make_unique(Id, "lifetime-running-hours", Attributes::LifetimeRunningHours::Id, credsIssuerConfig), // + make_unique(Id, "power", Attributes::Power::Id, credsIssuerConfig), // + make_unique(Id, "lifetime-energy-consumed", Attributes::LifetimeEnergyConsumed::Id, credsIssuerConfig), // + make_unique(Id, "operation-mode", Attributes::OperationMode::Id, credsIssuerConfig), // + make_unique(Id, "control-mode", Attributes::ControlMode::Id, credsIssuerConfig), // + make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-pressure", Attributes::MaxPressure::Id, credsIssuerConfig), // + make_unique(Id, "max-speed", Attributes::MaxSpeed::Id, credsIssuerConfig), // + make_unique(Id, "max-flow", Attributes::MaxFlow::Id, credsIssuerConfig), // + make_unique(Id, "min-const-pressure", Attributes::MinConstPressure::Id, credsIssuerConfig), // + make_unique(Id, "max-const-pressure", Attributes::MaxConstPressure::Id, credsIssuerConfig), // + make_unique(Id, "min-comp-pressure", Attributes::MinCompPressure::Id, credsIssuerConfig), // + make_unique(Id, "max-comp-pressure", Attributes::MaxCompPressure::Id, credsIssuerConfig), // + make_unique(Id, "min-const-speed", Attributes::MinConstSpeed::Id, credsIssuerConfig), // + make_unique(Id, "max-const-speed", Attributes::MaxConstSpeed::Id, credsIssuerConfig), // + make_unique(Id, "min-const-flow", Attributes::MinConstFlow::Id, credsIssuerConfig), // + make_unique(Id, "max-const-flow", Attributes::MaxConstFlow::Id, credsIssuerConfig), // + make_unique(Id, "min-const-temp", Attributes::MinConstTemp::Id, credsIssuerConfig), // + make_unique(Id, "max-const-temp", Attributes::MaxConstTemp::Id, credsIssuerConfig), // + make_unique(Id, "pump-status", Attributes::PumpStatus::Id, credsIssuerConfig), // + make_unique(Id, "effective-operation-mode", Attributes::EffectiveOperationMode::Id, + credsIssuerConfig), // + make_unique(Id, "effective-control-mode", Attributes::EffectiveControlMode::Id, credsIssuerConfig), // + make_unique(Id, "capacity", Attributes::Capacity::Id, credsIssuerConfig), // + make_unique(Id, "speed", Attributes::Speed::Id, credsIssuerConfig), // + make_unique(Id, "lifetime-running-hours", Attributes::LifetimeRunningHours::Id, credsIssuerConfig), // + make_unique(Id, "power", Attributes::Power::Id, credsIssuerConfig), // + make_unique(Id, "lifetime-energy-consumed", Attributes::LifetimeEnergyConsumed::Id, + credsIssuerConfig), // + make_unique(Id, "operation-mode", Attributes::OperationMode::Id, credsIssuerConfig), // + make_unique(Id, "control-mode", Attributes::ControlMode::Id, credsIssuerConfig), // + make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "supply-voltage-low", Events::SupplyVoltageLow::Id, credsIssuerConfig), // + make_unique(Id, "supply-voltage-high", Events::SupplyVoltageHigh::Id, credsIssuerConfig), // + make_unique(Id, "power-missing-phase", Events::PowerMissingPhase::Id, credsIssuerConfig), // + make_unique(Id, "system-pressure-low", Events::SystemPressureLow::Id, credsIssuerConfig), // + make_unique(Id, "system-pressure-high", Events::SystemPressureHigh::Id, credsIssuerConfig), // + make_unique(Id, "dry-running", Events::DryRunning::Id, credsIssuerConfig), // + make_unique(Id, "motor-temperature-high", Events::MotorTemperatureHigh::Id, credsIssuerConfig), // + make_unique(Id, "pump-motor-fatal-failure", Events::PumpMotorFatalFailure::Id, credsIssuerConfig), // + make_unique(Id, "electronic-temperature-high", Events::ElectronicTemperatureHigh::Id, credsIssuerConfig), // + make_unique(Id, "pump-blocked", Events::PumpBlocked::Id, credsIssuerConfig), // + make_unique(Id, "sensor-failure", Events::SensorFailure::Id, credsIssuerConfig), // + make_unique(Id, "electronic-non-fatal-failure", Events::ElectronicNonFatalFailure::Id, credsIssuerConfig), // + make_unique(Id, "electronic-fatal-failure", Events::ElectronicFatalFailure::Id, credsIssuerConfig), // + make_unique(Id, "general-fault", Events::GeneralFault::Id, credsIssuerConfig), // + make_unique(Id, "leakage", Events::Leakage::Id, credsIssuerConfig), // + make_unique(Id, "air-detection", Events::AirDetection::Id, credsIssuerConfig), // + make_unique(Id, "turbine-operation", Events::TurbineOperation::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "supply-voltage-low", Events::SupplyVoltageLow::Id, credsIssuerConfig), // + make_unique(Id, "supply-voltage-high", Events::SupplyVoltageHigh::Id, credsIssuerConfig), // + make_unique(Id, "power-missing-phase", Events::PowerMissingPhase::Id, credsIssuerConfig), // + make_unique(Id, "system-pressure-low", Events::SystemPressureLow::Id, credsIssuerConfig), // + make_unique(Id, "system-pressure-high", Events::SystemPressureHigh::Id, credsIssuerConfig), // + make_unique(Id, "dry-running", Events::DryRunning::Id, credsIssuerConfig), // + make_unique(Id, "motor-temperature-high", Events::MotorTemperatureHigh::Id, credsIssuerConfig), // + make_unique(Id, "pump-motor-fatal-failure", Events::PumpMotorFatalFailure::Id, credsIssuerConfig), // + make_unique(Id, "electronic-temperature-high", Events::ElectronicTemperatureHigh::Id, credsIssuerConfig), // + make_unique(Id, "pump-blocked", Events::PumpBlocked::Id, credsIssuerConfig), // + make_unique(Id, "sensor-failure", Events::SensorFailure::Id, credsIssuerConfig), // + make_unique(Id, "electronic-non-fatal-failure", Events::ElectronicNonFatalFailure::Id, + credsIssuerConfig), // + make_unique(Id, "electronic-fatal-failure", Events::ElectronicFatalFailure::Id, credsIssuerConfig), // + make_unique(Id, "general-fault", Events::GeneralFault::Id, credsIssuerConfig), // + make_unique(Id, "leakage", Events::Leakage::Id, credsIssuerConfig), // + make_unique(Id, "air-detection", Events::AirDetection::Id, credsIssuerConfig), // + make_unique(Id, "turbine-operation", Events::TurbineOperation::Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterThermostat(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Thermostat; + + const char * clusterName = "Thermostat"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "local-temperature", Attributes::LocalTemperature::Id, credsIssuerConfig), // + make_unique(Id, "outdoor-temperature", Attributes::OutdoorTemperature::Id, credsIssuerConfig), // + make_unique(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), // + make_unique(Id, "abs-min-heat-setpoint-limit", Attributes::AbsMinHeatSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "abs-max-heat-setpoint-limit", Attributes::AbsMaxHeatSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "abs-min-cool-setpoint-limit", Attributes::AbsMinCoolSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "abs-max-cool-setpoint-limit", Attributes::AbsMaxCoolSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "pi-cooling-demand", Attributes::PiCoolingDemand::Id, credsIssuerConfig), // + make_unique(Id, "pi-heating-demand", Attributes::PiHeatingDemand::Id, credsIssuerConfig), // + make_unique(Id, "hvac-system-type-configuration", Attributes::HvacSystemTypeConfiguration::Id, + credsIssuerConfig), // + make_unique(Id, "local-temperature-calibration", Attributes::LocalTemperatureCalibration::Id, + credsIssuerConfig), // + make_unique(Id, "occupied-cooling-setpoint", Attributes::OccupiedCoolingSetpoint::Id, credsIssuerConfig), // + make_unique(Id, "occupied-heating-setpoint", Attributes::OccupiedHeatingSetpoint::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-cooling-setpoint", Attributes::UnoccupiedCoolingSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "unoccupied-heating-setpoint", Attributes::UnoccupiedHeatingSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "min-heat-setpoint-limit", Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "max-heat-setpoint-limit", Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "min-cool-setpoint-limit", Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "max-cool-setpoint-limit", Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "min-setpoint-dead-band", Attributes::MinSetpointDeadBand::Id, credsIssuerConfig), // + make_unique(Id, "remote-sensing", Attributes::RemoteSensing::Id, credsIssuerConfig), // + make_unique(Id, "control-sequence-of-operation", Attributes::ControlSequenceOfOperation::Id, + credsIssuerConfig), // + make_unique(Id, "system-mode", Attributes::SystemMode::Id, credsIssuerConfig), // + make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "thermostat-running-mode", Attributes::ThermostatRunningMode::Id, credsIssuerConfig), // + make_unique(Id, "start-of-week", Attributes::StartOfWeek::Id, credsIssuerConfig), // + make_unique(Id, "number-of-weekly-transitions", Attributes::NumberOfWeeklyTransitions::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-daily-transitions", Attributes::NumberOfDailyTransitions::Id, + credsIssuerConfig), // + make_unique(Id, "temperature-setpoint-hold", Attributes::TemperatureSetpointHold::Id, credsIssuerConfig), // + make_unique(Id, "temperature-setpoint-hold-duration", Attributes::TemperatureSetpointHoldDuration::Id, + credsIssuerConfig), // + make_unique(Id, "thermostat-programming-operation-mode", Attributes::ThermostatProgrammingOperationMode::Id, + credsIssuerConfig), // + make_unique(Id, "thermostat-running-state", Attributes::ThermostatRunningState::Id, credsIssuerConfig), // + make_unique(Id, "setpoint-change-source", Attributes::SetpointChangeSource::Id, credsIssuerConfig), // + make_unique(Id, "setpoint-change-amount", Attributes::SetpointChangeAmount::Id, credsIssuerConfig), // + make_unique(Id, "setpoint-change-source-timestamp", Attributes::SetpointChangeSourceTimestamp::Id, + credsIssuerConfig), // + make_unique(Id, "ac-type", Attributes::AcType::Id, credsIssuerConfig), // + make_unique(Id, "ac-capacity", Attributes::AcCapacity::Id, credsIssuerConfig), // + make_unique(Id, "ac-refrigerant-type", Attributes::AcRefrigerantType::Id, credsIssuerConfig), // + make_unique(Id, "ac-compressor", Attributes::AcCompressor::Id, credsIssuerConfig), // + make_unique(Id, "ac-error-code", Attributes::AcErrorCode::Id, credsIssuerConfig), // + make_unique(Id, "ac-louver-position", Attributes::AcLouverPosition::Id, credsIssuerConfig), // + make_unique(Id, "ac-coil-temperature", Attributes::AcCoilTemperature::Id, credsIssuerConfig), // + make_unique(Id, "ac-capacity-format", Attributes::AcCapacityFormat::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "local-temperature", Attributes::LocalTemperature::Id, credsIssuerConfig), // + make_unique(Id, "outdoor-temperature", Attributes::OutdoorTemperature::Id, credsIssuerConfig), // + make_unique(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), // + make_unique(Id, "abs-min-heat-setpoint-limit", Attributes::AbsMinHeatSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "abs-max-heat-setpoint-limit", Attributes::AbsMaxHeatSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "abs-min-cool-setpoint-limit", Attributes::AbsMinCoolSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "abs-max-cool-setpoint-limit", Attributes::AbsMaxCoolSetpointLimit::Id, + credsIssuerConfig), // + make_unique(Id, "pi-cooling-demand", Attributes::PiCoolingDemand::Id, credsIssuerConfig), // + make_unique(Id, "pi-heating-demand", Attributes::PiHeatingDemand::Id, credsIssuerConfig), // + make_unique(Id, "hvac-system-type-configuration", Attributes::HvacSystemTypeConfiguration::Id, + credsIssuerConfig), // + make_unique(Id, "local-temperature-calibration", Attributes::LocalTemperatureCalibration::Id, + credsIssuerConfig), // + make_unique(Id, "occupied-cooling-setpoint", Attributes::OccupiedCoolingSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "occupied-heating-setpoint", Attributes::OccupiedHeatingSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "unoccupied-cooling-setpoint", Attributes::UnoccupiedCoolingSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "unoccupied-heating-setpoint", Attributes::UnoccupiedHeatingSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "min-heat-setpoint-limit", Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "max-heat-setpoint-limit", Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "min-cool-setpoint-limit", Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "max-cool-setpoint-limit", Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), // + make_unique(Id, "min-setpoint-dead-band", Attributes::MinSetpointDeadBand::Id, credsIssuerConfig), // + make_unique(Id, "remote-sensing", Attributes::RemoteSensing::Id, credsIssuerConfig), // + make_unique(Id, "control-sequence-of-operation", Attributes::ControlSequenceOfOperation::Id, + credsIssuerConfig), // + make_unique(Id, "system-mode", Attributes::SystemMode::Id, credsIssuerConfig), // + make_unique(Id, "alarm-mask", Attributes::AlarmMask::Id, credsIssuerConfig), // + make_unique(Id, "thermostat-running-mode", Attributes::ThermostatRunningMode::Id, credsIssuerConfig), // + make_unique(Id, "start-of-week", Attributes::StartOfWeek::Id, credsIssuerConfig), // + make_unique(Id, "number-of-weekly-transitions", Attributes::NumberOfWeeklyTransitions::Id, + credsIssuerConfig), // + make_unique(Id, "number-of-daily-transitions", Attributes::NumberOfDailyTransitions::Id, + credsIssuerConfig), // + make_unique(Id, "temperature-setpoint-hold", Attributes::TemperatureSetpointHold::Id, + credsIssuerConfig), // + make_unique(Id, "temperature-setpoint-hold-duration", Attributes::TemperatureSetpointHoldDuration::Id, + credsIssuerConfig), // + make_unique(Id, "thermostat-programming-operation-mode", + Attributes::ThermostatProgrammingOperationMode::Id, credsIssuerConfig), // + make_unique(Id, "thermostat-running-state", Attributes::ThermostatRunningState::Id, + credsIssuerConfig), // + make_unique(Id, "setpoint-change-source", Attributes::SetpointChangeSource::Id, credsIssuerConfig), // + make_unique(Id, "setpoint-change-amount", Attributes::SetpointChangeAmount::Id, credsIssuerConfig), // + make_unique(Id, "setpoint-change-source-timestamp", Attributes::SetpointChangeSourceTimestamp::Id, + credsIssuerConfig), // + make_unique(Id, "ac-type", Attributes::AcType::Id, credsIssuerConfig), // + make_unique(Id, "ac-capacity", Attributes::AcCapacity::Id, credsIssuerConfig), // + make_unique(Id, "ac-refrigerant-type", Attributes::AcRefrigerantType::Id, credsIssuerConfig), // + make_unique(Id, "ac-compressor", Attributes::AcCompressor::Id, credsIssuerConfig), // + make_unique(Id, "ac-error-code", Attributes::AcErrorCode::Id, credsIssuerConfig), // + make_unique(Id, "ac-louver-position", Attributes::AcLouverPosition::Id, credsIssuerConfig), // + make_unique(Id, "ac-coil-temperature", Attributes::AcCoilTemperature::Id, credsIssuerConfig), // + make_unique(Id, "ac-capacity-format", Attributes::AcCapacityFormat::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterFanControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::FanControl; + + const char * clusterName = "FanControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "fan-mode", Attributes::FanMode::Id, credsIssuerConfig), // + make_unique(Id, "fan-mode-sequence", Attributes::FanModeSequence::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "fan-mode", Attributes::FanMode::Id, credsIssuerConfig), // + make_unique(Id, "fan-mode-sequence", Attributes::FanModeSequence::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterDehumidificationControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::DehumidificationControl; + + const char * clusterName = "DehumidificationControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "relative-humidity", Attributes::RelativeHumidity::Id, credsIssuerConfig), // + make_unique(Id, "dehumidification-cooling", Attributes::DehumidificationCooling::Id, credsIssuerConfig), // + make_unique(Id, "rh-dehumidification-setpoint", Attributes::RhDehumidificationSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "relative-humidity-mode", Attributes::RelativeHumidityMode::Id, credsIssuerConfig), // + make_unique(Id, "dehumidification-lockout", Attributes::DehumidificationLockout::Id, credsIssuerConfig), // + make_unique(Id, "dehumidification-hysteresis", Attributes::DehumidificationHysteresis::Id, + credsIssuerConfig), // + make_unique(Id, "dehumidification-max-cool", Attributes::DehumidificationMaxCool::Id, credsIssuerConfig), // + make_unique(Id, "relative-humidity-display", Attributes::RelativeHumidityDisplay::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "relative-humidity", Attributes::RelativeHumidity::Id, credsIssuerConfig), // + make_unique(Id, "dehumidification-cooling", Attributes::DehumidificationCooling::Id, + credsIssuerConfig), // + make_unique(Id, "rh-dehumidification-setpoint", Attributes::RhDehumidificationSetpoint::Id, + credsIssuerConfig), // + make_unique(Id, "relative-humidity-mode", Attributes::RelativeHumidityMode::Id, credsIssuerConfig), // + make_unique(Id, "dehumidification-lockout", Attributes::DehumidificationLockout::Id, + credsIssuerConfig), // + make_unique(Id, "dehumidification-hysteresis", Attributes::DehumidificationHysteresis::Id, + credsIssuerConfig), // + make_unique(Id, "dehumidification-max-cool", Attributes::DehumidificationMaxCool::Id, + credsIssuerConfig), // + make_unique(Id, "relative-humidity-display", Attributes::RelativeHumidityDisplay::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ThermostatUserInterfaceConfiguration; + + const char * clusterName = "ThermostatUserInterfaceConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "temperature-display-mode", Attributes::TemperatureDisplayMode::Id, credsIssuerConfig), // + make_unique(Id, "keypad-lockout", Attributes::KeypadLockout::Id, credsIssuerConfig), // + make_unique(Id, "schedule-programming-visibility", Attributes::ScheduleProgrammingVisibility::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "temperature-display-mode", Attributes::TemperatureDisplayMode::Id, + credsIssuerConfig), // + make_unique(Id, "keypad-lockout", Attributes::KeypadLockout::Id, credsIssuerConfig), // + make_unique(Id, "schedule-programming-visibility", Attributes::ScheduleProgrammingVisibility::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterColorControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ColorControl; + + const char * clusterName = "ColorControl"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-hue", Attributes::CurrentHue::Id, credsIssuerConfig), // + make_unique(Id, "current-saturation", Attributes::CurrentSaturation::Id, credsIssuerConfig), // + make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // + make_unique(Id, "current-x", Attributes::CurrentX::Id, credsIssuerConfig), // + make_unique(Id, "current-y", Attributes::CurrentY::Id, credsIssuerConfig), // + make_unique(Id, "drift-compensation", Attributes::DriftCompensation::Id, credsIssuerConfig), // + make_unique(Id, "compensation-text", Attributes::CompensationText::Id, credsIssuerConfig), // + make_unique(Id, "color-temperature", Attributes::ColorTemperature::Id, credsIssuerConfig), // + make_unique(Id, "color-mode", Attributes::ColorMode::Id, credsIssuerConfig), // + make_unique(Id, "color-control-options", Attributes::ColorControlOptions::Id, credsIssuerConfig), // + make_unique(Id, "number-of-primaries", Attributes::NumberOfPrimaries::Id, credsIssuerConfig), // + make_unique(Id, "primary1x", Attributes::Primary1X::Id, credsIssuerConfig), // + make_unique(Id, "primary1y", Attributes::Primary1Y::Id, credsIssuerConfig), // + make_unique(Id, "primary1intensity", Attributes::Primary1Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary2x", Attributes::Primary2X::Id, credsIssuerConfig), // + make_unique(Id, "primary2y", Attributes::Primary2Y::Id, credsIssuerConfig), // + make_unique(Id, "primary2intensity", Attributes::Primary2Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary3x", Attributes::Primary3X::Id, credsIssuerConfig), // + make_unique(Id, "primary3y", Attributes::Primary3Y::Id, credsIssuerConfig), // + make_unique(Id, "primary3intensity", Attributes::Primary3Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary4x", Attributes::Primary4X::Id, credsIssuerConfig), // + make_unique(Id, "primary4y", Attributes::Primary4Y::Id, credsIssuerConfig), // + make_unique(Id, "primary4intensity", Attributes::Primary4Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary5x", Attributes::Primary5X::Id, credsIssuerConfig), // + make_unique(Id, "primary5y", Attributes::Primary5Y::Id, credsIssuerConfig), // + make_unique(Id, "primary5intensity", Attributes::Primary5Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary6x", Attributes::Primary6X::Id, credsIssuerConfig), // + make_unique(Id, "primary6y", Attributes::Primary6Y::Id, credsIssuerConfig), // + make_unique(Id, "primary6intensity", Attributes::Primary6Intensity::Id, credsIssuerConfig), // + make_unique(Id, "white-point-x", Attributes::WhitePointX::Id, credsIssuerConfig), // + make_unique(Id, "white-point-y", Attributes::WhitePointY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-rx", Attributes::ColorPointRX::Id, credsIssuerConfig), // + make_unique(Id, "color-point-ry", Attributes::ColorPointRY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-rintensity", Attributes::ColorPointRIntensity::Id, credsIssuerConfig), // + make_unique(Id, "color-point-gx", Attributes::ColorPointGX::Id, credsIssuerConfig), // + make_unique(Id, "color-point-gy", Attributes::ColorPointGY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-gintensity", Attributes::ColorPointGIntensity::Id, credsIssuerConfig), // + make_unique(Id, "color-point-bx", Attributes::ColorPointBX::Id, credsIssuerConfig), // + make_unique(Id, "color-point-by", Attributes::ColorPointBY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-bintensity", Attributes::ColorPointBIntensity::Id, credsIssuerConfig), // + make_unique(Id, "enhanced-current-hue", Attributes::EnhancedCurrentHue::Id, credsIssuerConfig), // + make_unique(Id, "enhanced-color-mode", Attributes::EnhancedColorMode::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-active", Attributes::ColorLoopActive::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-direction", Attributes::ColorLoopDirection::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-time", Attributes::ColorLoopTime::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-start-enhanced-hue", Attributes::ColorLoopStartEnhancedHue::Id, + credsIssuerConfig), // + make_unique(Id, "color-loop-stored-enhanced-hue", Attributes::ColorLoopStoredEnhancedHue::Id, + credsIssuerConfig), // + make_unique(Id, "color-capabilities", Attributes::ColorCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "color-temp-physical-min", Attributes::ColorTempPhysicalMin::Id, credsIssuerConfig), // + make_unique(Id, "color-temp-physical-max", Attributes::ColorTempPhysicalMax::Id, credsIssuerConfig), // + make_unique(Id, "couple-color-temp-to-level-min-mireds", Attributes::CoupleColorTempToLevelMinMireds::Id, + credsIssuerConfig), // + make_unique(Id, "start-up-color-temperature-mireds", Attributes::StartUpColorTemperatureMireds::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "current-hue", Attributes::CurrentHue::Id, credsIssuerConfig), // + make_unique(Id, "current-saturation", Attributes::CurrentSaturation::Id, credsIssuerConfig), // + make_unique(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), // + make_unique(Id, "current-x", Attributes::CurrentX::Id, credsIssuerConfig), // + make_unique(Id, "current-y", Attributes::CurrentY::Id, credsIssuerConfig), // + make_unique(Id, "drift-compensation", Attributes::DriftCompensation::Id, credsIssuerConfig), // + make_unique(Id, "compensation-text", Attributes::CompensationText::Id, credsIssuerConfig), // + make_unique(Id, "color-temperature", Attributes::ColorTemperature::Id, credsIssuerConfig), // + make_unique(Id, "color-mode", Attributes::ColorMode::Id, credsIssuerConfig), // + make_unique(Id, "color-control-options", Attributes::ColorControlOptions::Id, credsIssuerConfig), // + make_unique(Id, "number-of-primaries", Attributes::NumberOfPrimaries::Id, credsIssuerConfig), // + make_unique(Id, "primary1x", Attributes::Primary1X::Id, credsIssuerConfig), // + make_unique(Id, "primary1y", Attributes::Primary1Y::Id, credsIssuerConfig), // + make_unique(Id, "primary1intensity", Attributes::Primary1Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary2x", Attributes::Primary2X::Id, credsIssuerConfig), // + make_unique(Id, "primary2y", Attributes::Primary2Y::Id, credsIssuerConfig), // + make_unique(Id, "primary2intensity", Attributes::Primary2Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary3x", Attributes::Primary3X::Id, credsIssuerConfig), // + make_unique(Id, "primary3y", Attributes::Primary3Y::Id, credsIssuerConfig), // + make_unique(Id, "primary3intensity", Attributes::Primary3Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary4x", Attributes::Primary4X::Id, credsIssuerConfig), // + make_unique(Id, "primary4y", Attributes::Primary4Y::Id, credsIssuerConfig), // + make_unique(Id, "primary4intensity", Attributes::Primary4Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary5x", Attributes::Primary5X::Id, credsIssuerConfig), // + make_unique(Id, "primary5y", Attributes::Primary5Y::Id, credsIssuerConfig), // + make_unique(Id, "primary5intensity", Attributes::Primary5Intensity::Id, credsIssuerConfig), // + make_unique(Id, "primary6x", Attributes::Primary6X::Id, credsIssuerConfig), // + make_unique(Id, "primary6y", Attributes::Primary6Y::Id, credsIssuerConfig), // + make_unique(Id, "primary6intensity", Attributes::Primary6Intensity::Id, credsIssuerConfig), // + make_unique(Id, "white-point-x", Attributes::WhitePointX::Id, credsIssuerConfig), // + make_unique(Id, "white-point-y", Attributes::WhitePointY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-rx", Attributes::ColorPointRX::Id, credsIssuerConfig), // + make_unique(Id, "color-point-ry", Attributes::ColorPointRY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-rintensity", Attributes::ColorPointRIntensity::Id, credsIssuerConfig), // + make_unique(Id, "color-point-gx", Attributes::ColorPointGX::Id, credsIssuerConfig), // + make_unique(Id, "color-point-gy", Attributes::ColorPointGY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-gintensity", Attributes::ColorPointGIntensity::Id, credsIssuerConfig), // + make_unique(Id, "color-point-bx", Attributes::ColorPointBX::Id, credsIssuerConfig), // + make_unique(Id, "color-point-by", Attributes::ColorPointBY::Id, credsIssuerConfig), // + make_unique(Id, "color-point-bintensity", Attributes::ColorPointBIntensity::Id, credsIssuerConfig), // + make_unique(Id, "enhanced-current-hue", Attributes::EnhancedCurrentHue::Id, credsIssuerConfig), // + make_unique(Id, "enhanced-color-mode", Attributes::EnhancedColorMode::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-active", Attributes::ColorLoopActive::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-direction", Attributes::ColorLoopDirection::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-time", Attributes::ColorLoopTime::Id, credsIssuerConfig), // + make_unique(Id, "color-loop-start-enhanced-hue", Attributes::ColorLoopStartEnhancedHue::Id, + credsIssuerConfig), // + make_unique(Id, "color-loop-stored-enhanced-hue", Attributes::ColorLoopStoredEnhancedHue::Id, + credsIssuerConfig), // + make_unique(Id, "color-capabilities", Attributes::ColorCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "color-temp-physical-min", Attributes::ColorTempPhysicalMin::Id, credsIssuerConfig), // + make_unique(Id, "color-temp-physical-max", Attributes::ColorTempPhysicalMax::Id, credsIssuerConfig), // + make_unique(Id, "couple-color-temp-to-level-min-mireds", + Attributes::CoupleColorTempToLevelMinMireds::Id, credsIssuerConfig), // + make_unique(Id, "start-up-color-temperature-mireds", Attributes::StartUpColorTemperatureMireds::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BallastConfiguration; + + const char * clusterName = "BallastConfiguration"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "physical-min-level", Attributes::PhysicalMinLevel::Id, credsIssuerConfig), // + make_unique(Id, "physical-max-level", Attributes::PhysicalMaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "ballast-status", Attributes::BallastStatus::Id, credsIssuerConfig), // + make_unique(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), // + make_unique(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "power-on-level", Attributes::PowerOnLevel::Id, credsIssuerConfig), // + make_unique(Id, "power-on-fade-time", Attributes::PowerOnFadeTime::Id, credsIssuerConfig), // + make_unique(Id, "intrinsic-ballast-factor", Attributes::IntrinsicBallastFactor::Id, credsIssuerConfig), // + make_unique(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, credsIssuerConfig), // + make_unique(Id, "lamp-quality", Attributes::LampQuality::Id, credsIssuerConfig), // + make_unique(Id, "lamp-type", Attributes::LampType::Id, credsIssuerConfig), // + make_unique(Id, "lamp-manufacturer", Attributes::LampManufacturer::Id, credsIssuerConfig), // + make_unique(Id, "lamp-rated-hours", Attributes::LampRatedHours::Id, credsIssuerConfig), // + make_unique(Id, "lamp-burn-hours", Attributes::LampBurnHours::Id, credsIssuerConfig), // + make_unique(Id, "lamp-alarm-mode", Attributes::LampAlarmMode::Id, credsIssuerConfig), // + make_unique(Id, "lamp-burn-hours-trip-point", Attributes::LampBurnHoursTripPoint::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "physical-min-level", Attributes::PhysicalMinLevel::Id, credsIssuerConfig), // + make_unique(Id, "physical-max-level", Attributes::PhysicalMaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "ballast-status", Attributes::BallastStatus::Id, credsIssuerConfig), // + make_unique(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), // + make_unique(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "power-on-level", Attributes::PowerOnLevel::Id, credsIssuerConfig), // + make_unique(Id, "power-on-fade-time", Attributes::PowerOnFadeTime::Id, credsIssuerConfig), // + make_unique(Id, "intrinsic-ballast-factor", Attributes::IntrinsicBallastFactor::Id, + credsIssuerConfig), // + make_unique(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, + credsIssuerConfig), // + make_unique(Id, "lamp-quality", Attributes::LampQuality::Id, credsIssuerConfig), // + make_unique(Id, "lamp-type", Attributes::LampType::Id, credsIssuerConfig), // + make_unique(Id, "lamp-manufacturer", Attributes::LampManufacturer::Id, credsIssuerConfig), // + make_unique(Id, "lamp-rated-hours", Attributes::LampRatedHours::Id, credsIssuerConfig), // + make_unique(Id, "lamp-burn-hours", Attributes::LampBurnHours::Id, credsIssuerConfig), // + make_unique(Id, "lamp-alarm-mode", Attributes::LampAlarmMode::Id, credsIssuerConfig), // + make_unique(Id, "lamp-burn-hours-trip-point", Attributes::LampBurnHoursTripPoint::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::IlluminanceMeasurement; + + const char * clusterName = "IlluminanceMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TemperatureMeasurement; + + const char * clusterName = "TemperatureMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PressureMeasurement; + + const char * clusterName = "PressureMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "scaled-value", Attributes::ScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "min-scaled-value", Attributes::MinScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "max-scaled-value", Attributes::MaxScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "scaled-tolerance", Attributes::ScaledTolerance::Id, credsIssuerConfig), // + make_unique(Id, "scale", Attributes::Scale::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "scaled-value", Attributes::ScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "min-scaled-value", Attributes::MinScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "max-scaled-value", Attributes::MaxScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "scaled-tolerance", Attributes::ScaledTolerance::Id, credsIssuerConfig), // + make_unique(Id, "scale", Attributes::Scale::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::FlowMeasurement; + + const char * clusterName = "FlowMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::RelativeHumidityMeasurement; + + const char * clusterName = "RelativeHumidityMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OccupancySensing; + + const char * clusterName = "OccupancySensing"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), // + make_unique(Id, "occupancy-sensor-type", Attributes::OccupancySensorType::Id, credsIssuerConfig), // + make_unique(Id, "occupancy-sensor-type-bitmap", Attributes::OccupancySensorTypeBitmap::Id, + credsIssuerConfig), // + make_unique(Id, "pir-occupied-to-unoccupied-delay", Attributes::PirOccupiedToUnoccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pir-unoccupied-to-occupied-delay", Attributes::PirUnoccupiedToOccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pir-unoccupied-to-occupied-threshold", Attributes::PirUnoccupiedToOccupiedThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "ultrasonic-occupied-to-unoccupied-delay", + Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "ultrasonic-unoccupied-to-occupied-delay", + Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "ultrasonic-unoccupied-to-occupied-threshold", + Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique(Id, "physical-contact-occupied-to-unoccupied-delay", + Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "physical-contact-unoccupied-to-occupied-delay", + Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "physical-contact-unoccupied-to-occupied-threshold", + Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), // + make_unique(Id, "occupancy-sensor-type", Attributes::OccupancySensorType::Id, credsIssuerConfig), // + make_unique(Id, "occupancy-sensor-type-bitmap", Attributes::OccupancySensorTypeBitmap::Id, + credsIssuerConfig), // + make_unique(Id, "pir-occupied-to-unoccupied-delay", Attributes::PirOccupiedToUnoccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pir-unoccupied-to-occupied-delay", Attributes::PirUnoccupiedToOccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pir-unoccupied-to-occupied-threshold", + Attributes::PirUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique(Id, "ultrasonic-occupied-to-unoccupied-delay", + Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "ultrasonic-unoccupied-to-occupied-delay", + Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "ultrasonic-unoccupied-to-occupied-threshold", + Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique(Id, "physical-contact-occupied-to-unoccupied-delay", + Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "physical-contact-unoccupied-to-occupied-delay", + Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique(Id, "physical-contact-unoccupied-to-occupied-threshold", + Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::CarbonMonoxideConcentrationMeasurement; + + const char * clusterName = "CarbonMonoxideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::CarbonDioxideConcentrationMeasurement; + + const char * clusterName = "CarbonDioxideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterEthyleneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::EthyleneConcentrationMeasurement; + + const char * clusterName = "EthyleneConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterEthyleneOxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::EthyleneOxideConcentrationMeasurement; + + const char * clusterName = "EthyleneOxideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterHydrogenConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::HydrogenConcentrationMeasurement; + + const char * clusterName = "HydrogenConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterHydrogenSulphideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::HydrogenSulphideConcentrationMeasurement; + + const char * clusterName = "HydrogenSulphideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterNitricOxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::NitricOxideConcentrationMeasurement; + + const char * clusterName = "NitricOxideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::NitrogenDioxideConcentrationMeasurement; + + const char * clusterName = "NitrogenDioxideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOxygenConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OxygenConcentrationMeasurement; + + const char * clusterName = "OxygenConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterOzoneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OzoneConcentrationMeasurement; + + const char * clusterName = "OzoneConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterSulfurDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::SulfurDioxideConcentrationMeasurement; + + const char * clusterName = "SulfurDioxideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterDissolvedOxygenConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::DissolvedOxygenConcentrationMeasurement; + + const char * clusterName = "DissolvedOxygenConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBromateConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BromateConcentrationMeasurement; + + const char * clusterName = "BromateConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterChloraminesConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ChloraminesConcentrationMeasurement; + + const char * clusterName = "ChloraminesConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterChlorineConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ChlorineConcentrationMeasurement; + + const char * clusterName = "ChlorineConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterFecalColiformAndEColiConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::FecalColiformAndEColiConcentrationMeasurement; + + const char * clusterName = "FecalColiformAndEColiConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterFluorideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::FluorideConcentrationMeasurement; + + const char * clusterName = "FluorideConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterHaloaceticAcidsConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::HaloaceticAcidsConcentrationMeasurement; + + const char * clusterName = "HaloaceticAcidsConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTotalTrihalomethanesConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TotalTrihalomethanesConcentrationMeasurement; + + const char * clusterName = "TotalTrihalomethanesConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTotalColiformBacteriaConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TotalColiformBacteriaConcentrationMeasurement; + + const char * clusterName = "TotalColiformBacteriaConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTurbidityConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TurbidityConcentrationMeasurement; + + const char * clusterName = "TurbidityConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterCopperConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::CopperConcentrationMeasurement; + + const char * clusterName = "CopperConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterLeadConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::LeadConcentrationMeasurement; + + const char * clusterName = "LeadConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterManganeseConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ManganeseConcentrationMeasurement; + + const char * clusterName = "ManganeseConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterSulfateConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::SulfateConcentrationMeasurement; + + const char * clusterName = "SulfateConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBromodichloromethaneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BromodichloromethaneConcentrationMeasurement; + + const char * clusterName = "BromodichloromethaneConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterBromoformConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::BromoformConcentrationMeasurement; + + const char * clusterName = "BromoformConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterChlorodibromomethaneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ChlorodibromomethaneConcentrationMeasurement; + + const char * clusterName = "ChlorodibromomethaneConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterChloroformConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ChloroformConcentrationMeasurement; + + const char * clusterName = "ChloroformConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterSodiumConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::SodiumConcentrationMeasurement; + + const char * clusterName = "SodiumConcentrationMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterIasZone(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::IasZone; + + const char * clusterName = "IasZone"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "zone-state", Attributes::ZoneState::Id, credsIssuerConfig), // + make_unique(Id, "zone-type", Attributes::ZoneType::Id, credsIssuerConfig), // + make_unique(Id, "zone-status", Attributes::ZoneStatus::Id, credsIssuerConfig), // + make_unique(Id, "ias-cie-address", Attributes::IasCieAddress::Id, credsIssuerConfig), // + make_unique(Id, "zone-id", Attributes::ZoneId::Id, credsIssuerConfig), // + make_unique(Id, "number-of-zone-sensitivity-levels-supported", + Attributes::NumberOfZoneSensitivityLevelsSupported::Id, credsIssuerConfig), // + make_unique(Id, "current-zone-sensitivity-level", Attributes::CurrentZoneSensitivityLevel::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "zone-state", Attributes::ZoneState::Id, credsIssuerConfig), // + make_unique(Id, "zone-type", Attributes::ZoneType::Id, credsIssuerConfig), // + make_unique(Id, "zone-status", Attributes::ZoneStatus::Id, credsIssuerConfig), // + make_unique(Id, "ias-cie-address", Attributes::IasCieAddress::Id, credsIssuerConfig), // + make_unique(Id, "zone-id", Attributes::ZoneId::Id, credsIssuerConfig), // + make_unique(Id, "number-of-zone-sensitivity-levels-supported", + Attributes::NumberOfZoneSensitivityLevelsSupported::Id, credsIssuerConfig), // + make_unique(Id, "current-zone-sensitivity-level", Attributes::CurrentZoneSensitivityLevel::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterIasAce(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::IasAce; + + const char * clusterName = "IasAce"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterIasWd(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::IasWd; + + const char * clusterName = "IasWd"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-duration", Attributes::MaxDuration::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-duration", Attributes::MaxDuration::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::WakeOnLan; + + const char * clusterName = "WakeOnLan"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "wake-on-lan-mac-address", Attributes::WakeOnLanMacAddress::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "wake-on-lan-mac-address", Attributes::WakeOnLanMacAddress::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterChannel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::Channel; + + const char * clusterName = "Channel"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // + make_unique(Id, "channel-lineup", Attributes::ChannelLineup::Id, credsIssuerConfig), // + make_unique(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // + make_unique(Id, "channel-lineup", Attributes::ChannelLineup::Id, credsIssuerConfig), // + make_unique(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TargetNavigator; + + const char * clusterName = "TargetNavigator"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "target-navigator-list", Attributes::TargetNavigatorList::Id, credsIssuerConfig), // + make_unique(Id, "current-navigator-target", Attributes::CurrentNavigatorTarget::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "target-navigator-list", Attributes::TargetNavigatorList::Id, credsIssuerConfig), // + make_unique(Id, "current-navigator-target", Attributes::CurrentNavigatorTarget::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::MediaPlayback; + + const char * clusterName = "MediaPlayback"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "boolean", Attributes::Boolean::Id, credsIssuerConfig), // - make_unique(Id, "bitmap8", Attributes::Bitmap8::Id, credsIssuerConfig), // - make_unique(Id, "bitmap16", Attributes::Bitmap16::Id, credsIssuerConfig), // - make_unique(Id, "bitmap32", Attributes::Bitmap32::Id, credsIssuerConfig), // - make_unique(Id, "bitmap64", Attributes::Bitmap64::Id, credsIssuerConfig), // - make_unique(Id, "int8u", Attributes::Int8u::Id, credsIssuerConfig), // - make_unique(Id, "int16u", Attributes::Int16u::Id, credsIssuerConfig), // - make_unique(Id, "int24u", Attributes::Int24u::Id, credsIssuerConfig), // - make_unique(Id, "int32u", Attributes::Int32u::Id, credsIssuerConfig), // - make_unique(Id, "int40u", Attributes::Int40u::Id, credsIssuerConfig), // - make_unique(Id, "int48u", Attributes::Int48u::Id, credsIssuerConfig), // - make_unique(Id, "int56u", Attributes::Int56u::Id, credsIssuerConfig), // - make_unique(Id, "int64u", Attributes::Int64u::Id, credsIssuerConfig), // - make_unique(Id, "int8s", Attributes::Int8s::Id, credsIssuerConfig), // - make_unique(Id, "int16s", Attributes::Int16s::Id, credsIssuerConfig), // - make_unique(Id, "int24s", Attributes::Int24s::Id, credsIssuerConfig), // - make_unique(Id, "int32s", Attributes::Int32s::Id, credsIssuerConfig), // - make_unique(Id, "int40s", Attributes::Int40s::Id, credsIssuerConfig), // - make_unique(Id, "int48s", Attributes::Int48s::Id, credsIssuerConfig), // - make_unique(Id, "int56s", Attributes::Int56s::Id, credsIssuerConfig), // - make_unique(Id, "int64s", Attributes::Int64s::Id, credsIssuerConfig), // - make_unique(Id, "enum8", Attributes::Enum8::Id, credsIssuerConfig), // - make_unique(Id, "enum16", Attributes::Enum16::Id, credsIssuerConfig), // - make_unique(Id, "float-single", Attributes::FloatSingle::Id, credsIssuerConfig), // - make_unique(Id, "float-double", Attributes::FloatDouble::Id, credsIssuerConfig), // - make_unique(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), // - make_unique(Id, "list-int8u", Attributes::ListInt8u::Id, credsIssuerConfig), // - make_unique(Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), // - make_unique(Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id, credsIssuerConfig), // - make_unique(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), // - make_unique(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), // - make_unique(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), // - make_unique(Id, "epoch-us", Attributes::EpochUs::Id, credsIssuerConfig), // - make_unique(Id, "epoch-s", Attributes::EpochS::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // - make_unique(Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id, - credsIssuerConfig), // - make_unique(Id, "enum-attr", Attributes::EnumAttr::Id, credsIssuerConfig), // - make_unique(Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int8u", Attributes::RangeRestrictedInt8u::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int8s", Attributes::RangeRestrictedInt8s::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int16u", Attributes::RangeRestrictedInt16u::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int16s", Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), // - make_unique(Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), // - make_unique(Id, "timed-write-boolean", Attributes::TimedWriteBoolean::Id, credsIssuerConfig), // - make_unique(Id, "general-error-boolean", Attributes::GeneralErrorBoolean::Id, credsIssuerConfig), // - make_unique(Id, "cluster-error-boolean", Attributes::ClusterErrorBoolean::Id, credsIssuerConfig), // - make_unique(Id, "unsupported", Attributes::Unsupported::Id, credsIssuerConfig), // - make_unique(Id, "nullable-boolean", Attributes::NullableBoolean::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap8", Attributes::NullableBitmap8::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap16", Attributes::NullableBitmap16::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap32", Attributes::NullableBitmap32::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap64", Attributes::NullableBitmap64::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int8u", Attributes::NullableInt8u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int16u", Attributes::NullableInt16u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int24u", Attributes::NullableInt24u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int32u", Attributes::NullableInt32u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int40u", Attributes::NullableInt40u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int48u", Attributes::NullableInt48u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int56u", Attributes::NullableInt56u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int64u", Attributes::NullableInt64u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int8s", Attributes::NullableInt8s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int16s", Attributes::NullableInt16s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int24s", Attributes::NullableInt24s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int32s", Attributes::NullableInt32s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int40s", Attributes::NullableInt40s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int48s", Attributes::NullableInt48s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int56s", Attributes::NullableInt56s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int64s", Attributes::NullableInt64s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-enum8", Attributes::NullableEnum8::Id, credsIssuerConfig), // - make_unique(Id, "nullable-enum16", Attributes::NullableEnum16::Id, credsIssuerConfig), // - make_unique(Id, "nullable-float-single", Attributes::NullableFloatSingle::Id, credsIssuerConfig), // - make_unique(Id, "nullable-float-double", Attributes::NullableFloatDouble::Id, credsIssuerConfig), // - make_unique(Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), // - make_unique(Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), // - make_unique(Id, "nullable-enum-attr", Attributes::NullableEnumAttr::Id, credsIssuerConfig), // - make_unique(Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int8u", Attributes::NullableRangeRestrictedInt8u::Id, + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "playback-state", Attributes::PlaybackState::Id, credsIssuerConfig), // + make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // + make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // + make_unique(Id, "position", Attributes::Position::Id, credsIssuerConfig), // + make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int8s", Attributes::NullableRangeRestrictedInt8s::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "playback-state", Attributes::PlaybackState::Id, credsIssuerConfig), // + make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // + make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // + make_unique(Id, "position", Attributes::Position::Id, credsIssuerConfig), // + make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::MediaInput; + + const char * clusterName = "MediaInput"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "media-input-list", Attributes::MediaInputList::Id, credsIssuerConfig), // + make_unique(Id, "current-media-input", Attributes::CurrentMediaInput::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int16u", Attributes::NullableRangeRestrictedInt16u::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "media-input-list", Attributes::MediaInputList::Id, credsIssuerConfig), // + make_unique(Id, "current-media-input", Attributes::CurrentMediaInput::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::LowPower; + + const char * clusterName = "LowPower"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int16s", Attributes::NullableRangeRestrictedInt16s::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterKeypadInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::KeypadInput; + + const char * clusterName = "KeypadInput"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterContentLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ContentLauncher; + + const char * clusterName = "ContentLauncher"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "accept-header-list", Attributes::AcceptHeaderList::Id, credsIssuerConfig), // + make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "boolean", Attributes::Boolean::Id, credsIssuerConfig), // - make_unique(Id, "bitmap8", Attributes::Bitmap8::Id, credsIssuerConfig), // - make_unique(Id, "bitmap16", Attributes::Bitmap16::Id, credsIssuerConfig), // - make_unique(Id, "bitmap32", Attributes::Bitmap32::Id, credsIssuerConfig), // - make_unique(Id, "bitmap64", Attributes::Bitmap64::Id, credsIssuerConfig), // - make_unique(Id, "int8u", Attributes::Int8u::Id, credsIssuerConfig), // - make_unique(Id, "int16u", Attributes::Int16u::Id, credsIssuerConfig), // - make_unique(Id, "int24u", Attributes::Int24u::Id, credsIssuerConfig), // - make_unique(Id, "int32u", Attributes::Int32u::Id, credsIssuerConfig), // - make_unique(Id, "int40u", Attributes::Int40u::Id, credsIssuerConfig), // - make_unique(Id, "int48u", Attributes::Int48u::Id, credsIssuerConfig), // - make_unique(Id, "int56u", Attributes::Int56u::Id, credsIssuerConfig), // - make_unique(Id, "int64u", Attributes::Int64u::Id, credsIssuerConfig), // - make_unique(Id, "int8s", Attributes::Int8s::Id, credsIssuerConfig), // - make_unique(Id, "int16s", Attributes::Int16s::Id, credsIssuerConfig), // - make_unique(Id, "int24s", Attributes::Int24s::Id, credsIssuerConfig), // - make_unique(Id, "int32s", Attributes::Int32s::Id, credsIssuerConfig), // - make_unique(Id, "int40s", Attributes::Int40s::Id, credsIssuerConfig), // - make_unique(Id, "int48s", Attributes::Int48s::Id, credsIssuerConfig), // - make_unique(Id, "int56s", Attributes::Int56s::Id, credsIssuerConfig), // - make_unique(Id, "int64s", Attributes::Int64s::Id, credsIssuerConfig), // - make_unique(Id, "enum8", Attributes::Enum8::Id, credsIssuerConfig), // - make_unique(Id, "enum16", Attributes::Enum16::Id, credsIssuerConfig), // - make_unique(Id, "float-single", Attributes::FloatSingle::Id, credsIssuerConfig), // - make_unique(Id, "float-double", Attributes::FloatDouble::Id, credsIssuerConfig), // - make_unique(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), // - make_unique(Id, "list-int8u", Attributes::ListInt8u::Id, credsIssuerConfig), // - make_unique(Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), // - make_unique(Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id, - credsIssuerConfig), // - make_unique(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), // - make_unique(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), // - make_unique(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), // - make_unique(Id, "epoch-us", Attributes::EpochUs::Id, credsIssuerConfig), // - make_unique(Id, "epoch-s", Attributes::EpochS::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // - make_unique(Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id, - credsIssuerConfig), // - make_unique(Id, "enum-attr", Attributes::EnumAttr::Id, credsIssuerConfig), // - make_unique(Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int8u", Attributes::RangeRestrictedInt8u::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int8s", Attributes::RangeRestrictedInt8s::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int16u", Attributes::RangeRestrictedInt16u::Id, credsIssuerConfig), // - make_unique(Id, "range-restricted-int16s", Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), // - make_unique(Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), // - make_unique(Id, "timed-write-boolean", Attributes::TimedWriteBoolean::Id, credsIssuerConfig), // - make_unique(Id, "general-error-boolean", Attributes::GeneralErrorBoolean::Id, credsIssuerConfig), // - make_unique(Id, "cluster-error-boolean", Attributes::ClusterErrorBoolean::Id, credsIssuerConfig), // - make_unique(Id, "unsupported", Attributes::Unsupported::Id, credsIssuerConfig), // - make_unique(Id, "nullable-boolean", Attributes::NullableBoolean::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap8", Attributes::NullableBitmap8::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap16", Attributes::NullableBitmap16::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap32", Attributes::NullableBitmap32::Id, credsIssuerConfig), // - make_unique(Id, "nullable-bitmap64", Attributes::NullableBitmap64::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int8u", Attributes::NullableInt8u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int16u", Attributes::NullableInt16u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int24u", Attributes::NullableInt24u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int32u", Attributes::NullableInt32u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int40u", Attributes::NullableInt40u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int48u", Attributes::NullableInt48u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int56u", Attributes::NullableInt56u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int64u", Attributes::NullableInt64u::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int8s", Attributes::NullableInt8s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int16s", Attributes::NullableInt16s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int24s", Attributes::NullableInt24s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int32s", Attributes::NullableInt32s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int40s", Attributes::NullableInt40s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int48s", Attributes::NullableInt48s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int56s", Attributes::NullableInt56s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-int64s", Attributes::NullableInt64s::Id, credsIssuerConfig), // - make_unique(Id, "nullable-enum8", Attributes::NullableEnum8::Id, credsIssuerConfig), // - make_unique(Id, "nullable-enum16", Attributes::NullableEnum16::Id, credsIssuerConfig), // - make_unique(Id, "nullable-float-single", Attributes::NullableFloatSingle::Id, credsIssuerConfig), // - make_unique(Id, "nullable-float-double", Attributes::NullableFloatDouble::Id, credsIssuerConfig), // - make_unique(Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), // - make_unique(Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), // - make_unique(Id, "nullable-enum-attr", Attributes::NullableEnumAttr::Id, credsIssuerConfig), // - make_unique(Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int8u", Attributes::NullableRangeRestrictedInt8u::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "accept-header-list", Attributes::AcceptHeaderList::Id, credsIssuerConfig), // + make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int8s", Attributes::NullableRangeRestrictedInt8s::Id, + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int16u", Attributes::NullableRangeRestrictedInt16u::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::AudioOutput; + + const char * clusterName = "AudioOutput"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "audio-output-list", Attributes::AudioOutputList::Id, credsIssuerConfig), // + make_unique(Id, "current-audio-output", Attributes::CurrentAudioOutput::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "audio-output-list", Attributes::AudioOutputList::Id, credsIssuerConfig), // + make_unique(Id, "current-audio-output", Attributes::CurrentAudioOutput::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ApplicationLauncher; + + const char * clusterName = "ApplicationLauncher"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "application-launcher-list", Attributes::ApplicationLauncherList::Id, credsIssuerConfig), // + make_unique(Id, "application-launcher-app", Attributes::ApplicationLauncherApp::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "application-launcher-list", Attributes::ApplicationLauncherList::Id, credsIssuerConfig), // - make_unique(Id, "nullable-range-restricted-int16s", Attributes::NullableRangeRestrictedInt16s::Id, + make_unique(Id, "application-launcher-app", Attributes::ApplicationLauncherApp::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "test-event", Events::TestEvent::Id, credsIssuerConfig), // - make_unique(Id, "test-fabric-scoped-event", Events::TestFabricScopedEvent::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "test-event", Events::TestEvent::Id, credsIssuerConfig), // - make_unique(Id, "test-fabric-scoped-event", Events::TestFabricScopedEvent::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // }; commands.Register(clusterName, clusterCommands); } -void registerClusterThermostat(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterApplicationBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::Thermostat; + using namespace chip::app::Clusters::ApplicationBasic; - const char * clusterName = "Thermostat"; + const char * clusterName = "ApplicationBasic"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "local-temperature", Attributes::LocalTemperature::Id, credsIssuerConfig), // - make_unique(Id, "abs-min-heat-setpoint-limit", Attributes::AbsMinHeatSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "abs-max-heat-setpoint-limit", Attributes::AbsMaxHeatSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "abs-min-cool-setpoint-limit", Attributes::AbsMinCoolSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "abs-max-cool-setpoint-limit", Attributes::AbsMaxCoolSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "occupied-cooling-setpoint", Attributes::OccupiedCoolingSetpoint::Id, credsIssuerConfig), // - make_unique(Id, "occupied-heating-setpoint", Attributes::OccupiedHeatingSetpoint::Id, credsIssuerConfig), // - make_unique(Id, "min-heat-setpoint-limit", Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "max-heat-setpoint-limit", Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "min-cool-setpoint-limit", Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "max-cool-setpoint-limit", Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "min-setpoint-dead-band", Attributes::MinSetpointDeadBand::Id, credsIssuerConfig), // - make_unique(Id, "control-sequence-of-operation", Attributes::ControlSequenceOfOperation::Id, - credsIssuerConfig), // - make_unique(Id, "system-mode", Attributes::SystemMode::Id, credsIssuerConfig), // - make_unique(Id, "start-of-week", Attributes::StartOfWeek::Id, credsIssuerConfig), // - make_unique(Id, "number-of-weekly-transitions", Attributes::NumberOfWeeklyTransitions::Id, + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // + make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // + make_unique(Id, "product-id", Attributes::ProductId::Id, credsIssuerConfig), // + make_unique(Id, "application-app", Attributes::ApplicationApp::Id, credsIssuerConfig), // + make_unique(Id, "application-status", Attributes::ApplicationStatus::Id, credsIssuerConfig), // + make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // + make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "number-of-daily-transitions", Attributes::NumberOfDailyTransitions::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "local-temperature", Attributes::LocalTemperature::Id, credsIssuerConfig), // - make_unique(Id, "abs-min-heat-setpoint-limit", Attributes::AbsMinHeatSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "abs-max-heat-setpoint-limit", Attributes::AbsMaxHeatSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "abs-min-cool-setpoint-limit", Attributes::AbsMinCoolSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "abs-max-cool-setpoint-limit", Attributes::AbsMaxCoolSetpointLimit::Id, - credsIssuerConfig), // - make_unique(Id, "occupied-cooling-setpoint", Attributes::OccupiedCoolingSetpoint::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // + make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // + make_unique(Id, "product-id", Attributes::ProductId::Id, credsIssuerConfig), // + make_unique(Id, "application-app", Attributes::ApplicationApp::Id, credsIssuerConfig), // + make_unique(Id, "application-status", Attributes::ApplicationStatus::Id, credsIssuerConfig), // + make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // + make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "occupied-heating-setpoint", Attributes::OccupiedHeatingSetpoint::Id, - credsIssuerConfig), // - make_unique(Id, "min-heat-setpoint-limit", Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "max-heat-setpoint-limit", Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "min-cool-setpoint-limit", Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "max-cool-setpoint-limit", Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), // - make_unique(Id, "min-setpoint-dead-band", Attributes::MinSetpointDeadBand::Id, credsIssuerConfig), // - make_unique(Id, "control-sequence-of-operation", Attributes::ControlSequenceOfOperation::Id, - credsIssuerConfig), // - make_unique(Id, "system-mode", Attributes::SystemMode::Id, credsIssuerConfig), // - make_unique(Id, "start-of-week", Attributes::StartOfWeek::Id, credsIssuerConfig), // - make_unique(Id, "number-of-weekly-transitions", Attributes::NumberOfWeeklyTransitions::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + // + // Events + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + }; + + commands.Register(clusterName, clusterCommands); +} +void registerClusterAccountLogin(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::AccountLogin; + + const char * clusterName = "AccountLogin"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "number-of-daily-transitions", Attributes::NumberOfDailyTransitions::Id, + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // @@ -12672,225 +22566,304 @@ void registerClusterThermostat(Commands & commands, CredentialIssuerCommands * c commands.Register(clusterName, clusterCommands); } -void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterTestCluster(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ThermostatUserInterfaceConfiguration; + using namespace chip::app::Clusters::TestCluster; - const char * clusterName = "ThermostatUserInterfaceConfiguration"; + const char * clusterName = "TestCluster"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "temperature-display-mode", Attributes::TemperatureDisplayMode::Id, credsIssuerConfig), // - make_unique(Id, "keypad-lockout", Attributes::KeypadLockout::Id, credsIssuerConfig), // - make_unique(Id, "schedule-programming-visibility", Attributes::ScheduleProgrammingVisibility::Id, + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "boolean", Attributes::Boolean::Id, credsIssuerConfig), // + make_unique(Id, "bitmap8", Attributes::Bitmap8::Id, credsIssuerConfig), // + make_unique(Id, "bitmap16", Attributes::Bitmap16::Id, credsIssuerConfig), // + make_unique(Id, "bitmap32", Attributes::Bitmap32::Id, credsIssuerConfig), // + make_unique(Id, "bitmap64", Attributes::Bitmap64::Id, credsIssuerConfig), // + make_unique(Id, "int8u", Attributes::Int8u::Id, credsIssuerConfig), // + make_unique(Id, "int16u", Attributes::Int16u::Id, credsIssuerConfig), // + make_unique(Id, "int24u", Attributes::Int24u::Id, credsIssuerConfig), // + make_unique(Id, "int32u", Attributes::Int32u::Id, credsIssuerConfig), // + make_unique(Id, "int40u", Attributes::Int40u::Id, credsIssuerConfig), // + make_unique(Id, "int48u", Attributes::Int48u::Id, credsIssuerConfig), // + make_unique(Id, "int56u", Attributes::Int56u::Id, credsIssuerConfig), // + make_unique(Id, "int64u", Attributes::Int64u::Id, credsIssuerConfig), // + make_unique(Id, "int8s", Attributes::Int8s::Id, credsIssuerConfig), // + make_unique(Id, "int16s", Attributes::Int16s::Id, credsIssuerConfig), // + make_unique(Id, "int24s", Attributes::Int24s::Id, credsIssuerConfig), // + make_unique(Id, "int32s", Attributes::Int32s::Id, credsIssuerConfig), // + make_unique(Id, "int40s", Attributes::Int40s::Id, credsIssuerConfig), // + make_unique(Id, "int48s", Attributes::Int48s::Id, credsIssuerConfig), // + make_unique(Id, "int56s", Attributes::Int56s::Id, credsIssuerConfig), // + make_unique(Id, "int64s", Attributes::Int64s::Id, credsIssuerConfig), // + make_unique(Id, "enum8", Attributes::Enum8::Id, credsIssuerConfig), // + make_unique(Id, "enum16", Attributes::Enum16::Id, credsIssuerConfig), // + make_unique(Id, "float-single", Attributes::FloatSingle::Id, credsIssuerConfig), // + make_unique(Id, "float-double", Attributes::FloatDouble::Id, credsIssuerConfig), // + make_unique(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), // + make_unique(Id, "list-int8u", Attributes::ListInt8u::Id, credsIssuerConfig), // + make_unique(Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), // + make_unique(Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id, credsIssuerConfig), // + make_unique(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), // + make_unique(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), // + make_unique(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), // + make_unique(Id, "epoch-us", Attributes::EpochUs::Id, credsIssuerConfig), // + make_unique(Id, "epoch-s", Attributes::EpochS::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // + make_unique(Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id, + credsIssuerConfig), // + make_unique(Id, "enum-attr", Attributes::EnumAttr::Id, credsIssuerConfig), // + make_unique(Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int8u", Attributes::RangeRestrictedInt8u::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int8s", Attributes::RangeRestrictedInt8s::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int16u", Attributes::RangeRestrictedInt16u::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int16s", Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), // + make_unique(Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), // + make_unique(Id, "list-fabric-scoped", Attributes::ListFabricScoped::Id, credsIssuerConfig), // + make_unique(Id, "timed-write-boolean", Attributes::TimedWriteBoolean::Id, credsIssuerConfig), // + make_unique(Id, "general-error-boolean", Attributes::GeneralErrorBoolean::Id, credsIssuerConfig), // + make_unique(Id, "cluster-error-boolean", Attributes::ClusterErrorBoolean::Id, credsIssuerConfig), // + make_unique(Id, "unsupported", Attributes::Unsupported::Id, credsIssuerConfig), // + make_unique(Id, "nullable-boolean", Attributes::NullableBoolean::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap8", Attributes::NullableBitmap8::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap16", Attributes::NullableBitmap16::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap32", Attributes::NullableBitmap32::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap64", Attributes::NullableBitmap64::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int8u", Attributes::NullableInt8u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int16u", Attributes::NullableInt16u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int24u", Attributes::NullableInt24u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int32u", Attributes::NullableInt32u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int40u", Attributes::NullableInt40u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int48u", Attributes::NullableInt48u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int56u", Attributes::NullableInt56u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int64u", Attributes::NullableInt64u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int8s", Attributes::NullableInt8s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int16s", Attributes::NullableInt16s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int24s", Attributes::NullableInt24s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int32s", Attributes::NullableInt32s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int40s", Attributes::NullableInt40s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int48s", Attributes::NullableInt48s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int56s", Attributes::NullableInt56s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int64s", Attributes::NullableInt64s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-enum8", Attributes::NullableEnum8::Id, credsIssuerConfig), // + make_unique(Id, "nullable-enum16", Attributes::NullableEnum16::Id, credsIssuerConfig), // + make_unique(Id, "nullable-float-single", Attributes::NullableFloatSingle::Id, credsIssuerConfig), // + make_unique(Id, "nullable-float-double", Attributes::NullableFloatDouble::Id, credsIssuerConfig), // + make_unique(Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), // + make_unique(Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), // + make_unique(Id, "nullable-enum-attr", Attributes::NullableEnumAttr::Id, credsIssuerConfig), // + make_unique(Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), // + make_unique(Id, "nullable-range-restricted-int8u", Attributes::NullableRangeRestrictedInt8u::Id, credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + make_unique(Id, "nullable-range-restricted-int8s", Attributes::NullableRangeRestrictedInt8s::Id, credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "temperature-display-mode", Attributes::TemperatureDisplayMode::Id, - credsIssuerConfig), // - make_unique(Id, "keypad-lockout", Attributes::KeypadLockout::Id, credsIssuerConfig), // - make_unique(Id, "schedule-programming-visibility", Attributes::ScheduleProgrammingVisibility::Id, - credsIssuerConfig), // - make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - // - // Events - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - }; - - commands.Register(clusterName, clusterCommands); -} -void registerClusterThreadNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::ThreadNetworkDiagnostics; - - const char * clusterName = "ThreadNetworkDiagnostics"; - - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "channel", Attributes::Channel::Id, credsIssuerConfig), // - make_unique(Id, "routing-role", Attributes::RoutingRole::Id, credsIssuerConfig), // - make_unique(Id, "network-name", Attributes::NetworkName::Id, credsIssuerConfig), // - make_unique(Id, "pan-id", Attributes::PanId::Id, credsIssuerConfig), // - make_unique(Id, "extended-pan-id", Attributes::ExtendedPanId::Id, credsIssuerConfig), // - make_unique(Id, "mesh-local-prefix", Attributes::MeshLocalPrefix::Id, credsIssuerConfig), // - make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // - make_unique(Id, "neighbor-table-list", Attributes::NeighborTableList::Id, credsIssuerConfig), // - make_unique(Id, "route-table-list", Attributes::RouteTableList::Id, credsIssuerConfig), // - make_unique(Id, "partition-id", Attributes::PartitionId::Id, credsIssuerConfig), // - make_unique(Id, "weighting", Attributes::Weighting::Id, credsIssuerConfig), // - make_unique(Id, "data-version", Attributes::DataVersion::Id, credsIssuerConfig), // - make_unique(Id, "stable-data-version", Attributes::StableDataVersion::Id, credsIssuerConfig), // - make_unique(Id, "leader-router-id", Attributes::LeaderRouterId::Id, credsIssuerConfig), // - make_unique(Id, "detached-role-count", Attributes::DetachedRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "child-role-count", Attributes::ChildRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "router-role-count", Attributes::RouterRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "leader-role-count", Attributes::LeaderRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "attach-attempt-count", Attributes::AttachAttemptCount::Id, credsIssuerConfig), // - make_unique(Id, "partition-id-change-count", Attributes::PartitionIdChangeCount::Id, credsIssuerConfig), // - make_unique(Id, "better-partition-attach-attempt-count", Attributes::BetterPartitionAttachAttemptCount::Id, - credsIssuerConfig), // - make_unique(Id, "parent-change-count", Attributes::ParentChangeCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-total-count", Attributes::TxTotalCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-unicast-count", Attributes::TxUnicastCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-broadcast-count", Attributes::TxBroadcastCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-ack-requested-count", Attributes::TxAckRequestedCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-acked-count", Attributes::TxAckedCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-no-ack-requested-count", Attributes::TxNoAckRequestedCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-data-count", Attributes::TxDataCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-data-poll-count", Attributes::TxDataPollCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-beacon-count", Attributes::TxBeaconCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-beacon-request-count", Attributes::TxBeaconRequestCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-other-count", Attributes::TxOtherCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-retry-count", Attributes::TxRetryCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-direct-max-retry-expiry-count", Attributes::TxDirectMaxRetryExpiryCount::Id, + make_unique(Id, "nullable-range-restricted-int16u", Attributes::NullableRangeRestrictedInt16u::Id, credsIssuerConfig), // - make_unique(Id, "tx-indirect-max-retry-expiry-count", Attributes::TxIndirectMaxRetryExpiryCount::Id, - credsIssuerConfig), // - make_unique(Id, "tx-err-cca-count", Attributes::TxErrCcaCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-err-abort-count", Attributes::TxErrAbortCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-err-busy-channel-count", Attributes::TxErrBusyChannelCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-total-count", Attributes::RxTotalCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-unicast-count", Attributes::RxUnicastCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-broadcast-count", Attributes::RxBroadcastCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-data-count", Attributes::RxDataCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-data-poll-count", Attributes::RxDataPollCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-beacon-count", Attributes::RxBeaconCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-beacon-request-count", Attributes::RxBeaconRequestCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-other-count", Attributes::RxOtherCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-address-filtered-count", Attributes::RxAddressFilteredCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-dest-addr-filtered-count", Attributes::RxDestAddrFilteredCount::Id, - credsIssuerConfig), // - make_unique(Id, "rx-duplicated-count", Attributes::RxDuplicatedCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-no-frame-count", Attributes::RxErrNoFrameCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-unknown-neighbor-count", Attributes::RxErrUnknownNeighborCount::Id, + make_unique(Id, "nullable-range-restricted-int16s", Attributes::NullableRangeRestrictedInt16s::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-invalid-src-addr-count", Attributes::RxErrInvalidSrcAddrCount::Id, - credsIssuerConfig), // - make_unique(Id, "rx-err-sec-count", Attributes::RxErrSecCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-fcs-count", Attributes::RxErrFcsCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-other-count", Attributes::RxErrOtherCount::Id, credsIssuerConfig), // - make_unique(Id, "active-timestamp", Attributes::ActiveTimestamp::Id, credsIssuerConfig), // - make_unique(Id, "pending-timestamp", Attributes::PendingTimestamp::Id, credsIssuerConfig), // - make_unique(Id, "delay", Attributes::Delay::Id, credsIssuerConfig), // - make_unique(Id, "security-policy", Attributes::SecurityPolicy::Id, credsIssuerConfig), // - make_unique(Id, "channel-mask", Attributes::ChannelMask::Id, credsIssuerConfig), // - make_unique(Id, "operational-dataset-components", Attributes::OperationalDatasetComponents::Id, - credsIssuerConfig), // - make_unique(Id, "active-network-faults-list", Attributes::ActiveNetworkFaultsList::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "channel", Attributes::Channel::Id, credsIssuerConfig), // - make_unique(Id, "routing-role", Attributes::RoutingRole::Id, credsIssuerConfig), // - make_unique(Id, "network-name", Attributes::NetworkName::Id, credsIssuerConfig), // - make_unique(Id, "pan-id", Attributes::PanId::Id, credsIssuerConfig), // - make_unique(Id, "extended-pan-id", Attributes::ExtendedPanId::Id, credsIssuerConfig), // - make_unique(Id, "mesh-local-prefix", Attributes::MeshLocalPrefix::Id, credsIssuerConfig), // - make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // - make_unique(Id, "neighbor-table-list", Attributes::NeighborTableList::Id, credsIssuerConfig), // - make_unique(Id, "route-table-list", Attributes::RouteTableList::Id, credsIssuerConfig), // - make_unique(Id, "partition-id", Attributes::PartitionId::Id, credsIssuerConfig), // - make_unique(Id, "weighting", Attributes::Weighting::Id, credsIssuerConfig), // - make_unique(Id, "data-version", Attributes::DataVersion::Id, credsIssuerConfig), // - make_unique(Id, "stable-data-version", Attributes::StableDataVersion::Id, credsIssuerConfig), // - make_unique(Id, "leader-router-id", Attributes::LeaderRouterId::Id, credsIssuerConfig), // - make_unique(Id, "detached-role-count", Attributes::DetachedRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "child-role-count", Attributes::ChildRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "router-role-count", Attributes::RouterRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "leader-role-count", Attributes::LeaderRoleCount::Id, credsIssuerConfig), // - make_unique(Id, "attach-attempt-count", Attributes::AttachAttemptCount::Id, credsIssuerConfig), // - make_unique(Id, "partition-id-change-count", Attributes::PartitionIdChangeCount::Id, - credsIssuerConfig), // - make_unique(Id, "better-partition-attach-attempt-count", - Attributes::BetterPartitionAttachAttemptCount::Id, credsIssuerConfig), // - make_unique(Id, "parent-change-count", Attributes::ParentChangeCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-total-count", Attributes::TxTotalCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-unicast-count", Attributes::TxUnicastCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-broadcast-count", Attributes::TxBroadcastCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-ack-requested-count", Attributes::TxAckRequestedCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-acked-count", Attributes::TxAckedCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-no-ack-requested-count", Attributes::TxNoAckRequestedCount::Id, - credsIssuerConfig), // - make_unique(Id, "tx-data-count", Attributes::TxDataCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-data-poll-count", Attributes::TxDataPollCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-beacon-count", Attributes::TxBeaconCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-beacon-request-count", Attributes::TxBeaconRequestCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-other-count", Attributes::TxOtherCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-retry-count", Attributes::TxRetryCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-direct-max-retry-expiry-count", Attributes::TxDirectMaxRetryExpiryCount::Id, - credsIssuerConfig), // - make_unique(Id, "tx-indirect-max-retry-expiry-count", Attributes::TxIndirectMaxRetryExpiryCount::Id, - credsIssuerConfig), // - make_unique(Id, "tx-err-cca-count", Attributes::TxErrCcaCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-err-abort-count", Attributes::TxErrAbortCount::Id, credsIssuerConfig), // - make_unique(Id, "tx-err-busy-channel-count", Attributes::TxErrBusyChannelCount::Id, - credsIssuerConfig), // - make_unique(Id, "rx-total-count", Attributes::RxTotalCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-unicast-count", Attributes::RxUnicastCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-broadcast-count", Attributes::RxBroadcastCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-data-count", Attributes::RxDataCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-data-poll-count", Attributes::RxDataPollCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-beacon-count", Attributes::RxBeaconCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-beacon-request-count", Attributes::RxBeaconRequestCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-other-count", Attributes::RxOtherCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-address-filtered-count", Attributes::RxAddressFilteredCount::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "boolean", Attributes::Boolean::Id, credsIssuerConfig), // + make_unique(Id, "bitmap8", Attributes::Bitmap8::Id, credsIssuerConfig), // + make_unique(Id, "bitmap16", Attributes::Bitmap16::Id, credsIssuerConfig), // + make_unique(Id, "bitmap32", Attributes::Bitmap32::Id, credsIssuerConfig), // + make_unique(Id, "bitmap64", Attributes::Bitmap64::Id, credsIssuerConfig), // + make_unique(Id, "int8u", Attributes::Int8u::Id, credsIssuerConfig), // + make_unique(Id, "int16u", Attributes::Int16u::Id, credsIssuerConfig), // + make_unique(Id, "int24u", Attributes::Int24u::Id, credsIssuerConfig), // + make_unique(Id, "int32u", Attributes::Int32u::Id, credsIssuerConfig), // + make_unique(Id, "int40u", Attributes::Int40u::Id, credsIssuerConfig), // + make_unique(Id, "int48u", Attributes::Int48u::Id, credsIssuerConfig), // + make_unique(Id, "int56u", Attributes::Int56u::Id, credsIssuerConfig), // + make_unique(Id, "int64u", Attributes::Int64u::Id, credsIssuerConfig), // + make_unique(Id, "int8s", Attributes::Int8s::Id, credsIssuerConfig), // + make_unique(Id, "int16s", Attributes::Int16s::Id, credsIssuerConfig), // + make_unique(Id, "int24s", Attributes::Int24s::Id, credsIssuerConfig), // + make_unique(Id, "int32s", Attributes::Int32s::Id, credsIssuerConfig), // + make_unique(Id, "int40s", Attributes::Int40s::Id, credsIssuerConfig), // + make_unique(Id, "int48s", Attributes::Int48s::Id, credsIssuerConfig), // + make_unique(Id, "int56s", Attributes::Int56s::Id, credsIssuerConfig), // + make_unique(Id, "int64s", Attributes::Int64s::Id, credsIssuerConfig), // + make_unique(Id, "enum8", Attributes::Enum8::Id, credsIssuerConfig), // + make_unique(Id, "enum16", Attributes::Enum16::Id, credsIssuerConfig), // + make_unique(Id, "float-single", Attributes::FloatSingle::Id, credsIssuerConfig), // + make_unique(Id, "float-double", Attributes::FloatDouble::Id, credsIssuerConfig), // + make_unique(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), // + make_unique(Id, "list-int8u", Attributes::ListInt8u::Id, credsIssuerConfig), // + make_unique(Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), // + make_unique(Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id, + credsIssuerConfig), // + make_unique(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), // + make_unique(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), // + make_unique(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), // + make_unique(Id, "epoch-us", Attributes::EpochUs::Id, credsIssuerConfig), // + make_unique(Id, "epoch-s", Attributes::EpochS::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), // + make_unique(Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id, + credsIssuerConfig), // + make_unique(Id, "enum-attr", Attributes::EnumAttr::Id, credsIssuerConfig), // + make_unique(Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int8u", Attributes::RangeRestrictedInt8u::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int8s", Attributes::RangeRestrictedInt8s::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int16u", Attributes::RangeRestrictedInt16u::Id, credsIssuerConfig), // + make_unique(Id, "range-restricted-int16s", Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), // + make_unique(Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), // + make_unique(Id, "list-fabric-scoped", Attributes::ListFabricScoped::Id, credsIssuerConfig), // + make_unique(Id, "timed-write-boolean", Attributes::TimedWriteBoolean::Id, credsIssuerConfig), // + make_unique(Id, "general-error-boolean", Attributes::GeneralErrorBoolean::Id, credsIssuerConfig), // + make_unique(Id, "cluster-error-boolean", Attributes::ClusterErrorBoolean::Id, credsIssuerConfig), // + make_unique(Id, "unsupported", Attributes::Unsupported::Id, credsIssuerConfig), // + make_unique(Id, "nullable-boolean", Attributes::NullableBoolean::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap8", Attributes::NullableBitmap8::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap16", Attributes::NullableBitmap16::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap32", Attributes::NullableBitmap32::Id, credsIssuerConfig), // + make_unique(Id, "nullable-bitmap64", Attributes::NullableBitmap64::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int8u", Attributes::NullableInt8u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int16u", Attributes::NullableInt16u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int24u", Attributes::NullableInt24u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int32u", Attributes::NullableInt32u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int40u", Attributes::NullableInt40u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int48u", Attributes::NullableInt48u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int56u", Attributes::NullableInt56u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int64u", Attributes::NullableInt64u::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int8s", Attributes::NullableInt8s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int16s", Attributes::NullableInt16s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int24s", Attributes::NullableInt24s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int32s", Attributes::NullableInt32s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int40s", Attributes::NullableInt40s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int48s", Attributes::NullableInt48s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int56s", Attributes::NullableInt56s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-int64s", Attributes::NullableInt64s::Id, credsIssuerConfig), // + make_unique(Id, "nullable-enum8", Attributes::NullableEnum8::Id, credsIssuerConfig), // + make_unique(Id, "nullable-enum16", Attributes::NullableEnum16::Id, credsIssuerConfig), // + make_unique(Id, "nullable-float-single", Attributes::NullableFloatSingle::Id, credsIssuerConfig), // + make_unique(Id, "nullable-float-double", Attributes::NullableFloatDouble::Id, credsIssuerConfig), // + make_unique(Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), // + make_unique(Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), // + make_unique(Id, "nullable-enum-attr", Attributes::NullableEnumAttr::Id, credsIssuerConfig), // + make_unique(Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), // + make_unique(Id, "nullable-range-restricted-int8u", Attributes::NullableRangeRestrictedInt8u::Id, credsIssuerConfig), // - make_unique(Id, "rx-dest-addr-filtered-count", Attributes::RxDestAddrFilteredCount::Id, - credsIssuerConfig), // - make_unique(Id, "rx-duplicated-count", Attributes::RxDuplicatedCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-no-frame-count", Attributes::RxErrNoFrameCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-unknown-neighbor-count", Attributes::RxErrUnknownNeighborCount::Id, + make_unique(Id, "nullable-range-restricted-int8s", Attributes::NullableRangeRestrictedInt8s::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-invalid-src-addr-count", Attributes::RxErrInvalidSrcAddrCount::Id, - credsIssuerConfig), // - make_unique(Id, "rx-err-sec-count", Attributes::RxErrSecCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-fcs-count", Attributes::RxErrFcsCount::Id, credsIssuerConfig), // - make_unique(Id, "rx-err-other-count", Attributes::RxErrOtherCount::Id, credsIssuerConfig), // - make_unique(Id, "active-timestamp", Attributes::ActiveTimestamp::Id, credsIssuerConfig), // - make_unique(Id, "pending-timestamp", Attributes::PendingTimestamp::Id, credsIssuerConfig), // - make_unique(Id, "delay", Attributes::Delay::Id, credsIssuerConfig), // - make_unique(Id, "security-policy", Attributes::SecurityPolicy::Id, credsIssuerConfig), // - make_unique(Id, "channel-mask", Attributes::ChannelMask::Id, credsIssuerConfig), // - make_unique(Id, "operational-dataset-components", Attributes::OperationalDatasetComponents::Id, + make_unique(Id, "nullable-range-restricted-int16u", Attributes::NullableRangeRestrictedInt16u::Id, credsIssuerConfig), // - make_unique(Id, "active-network-faults-list", Attributes::ActiveNetworkFaultsList::Id, + make_unique(Id, "nullable-range-restricted-int16s", Attributes::NullableRangeRestrictedInt16s::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // @@ -12902,49 +22875,49 @@ void registerClusterThreadNetworkDiagnostics(Commands & commands, CredentialIssu // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "test-event", Events::TestEvent::Id, credsIssuerConfig), // + make_unique(Id, "test-fabric-scoped-event", Events::TestFabricScopedEvent::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "test-event", Events::TestEvent::Id, credsIssuerConfig), // + make_unique(Id, "test-fabric-scoped-event", Events::TestFabricScopedEvent::Id, credsIssuerConfig), // }; commands.Register(clusterName, clusterCommands); } -void registerClusterTimeFormatLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterMessaging(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TimeFormatLocalization; + using namespace chip::app::Clusters::Messaging; - const char * clusterName = "TimeFormatLocalization"; + const char * clusterName = "Messaging"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "hour-format", Attributes::HourFormat::Id, credsIssuerConfig), // - make_unique(Id, "active-calendar-type", Attributes::ActiveCalendarType::Id, credsIssuerConfig), // - make_unique(Id, "supported-calendar-types", Attributes::SupportedCalendarTypes::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "hour-format", Attributes::HourFormat::Id, credsIssuerConfig), // - make_unique(Id, "active-calendar-type", Attributes::ActiveCalendarType::Id, credsIssuerConfig), // - make_unique(Id, "supported-calendar-types", Attributes::SupportedCalendarTypes::Id, - credsIssuerConfig), // + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // // // Events @@ -12955,11 +22928,11 @@ void registerClusterTimeFormatLocalization(Commands & commands, CredentialIssuer commands.Register(clusterName, clusterCommands); } -void registerClusterUnitLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterApplianceIdentification(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::UnitLocalization; + using namespace chip::app::Clusters::ApplianceIdentification; - const char * clusterName = "UnitLocalization"; + const char * clusterName = "ApplianceIdentification"; commands_list clusterCommands = { // @@ -12969,15 +22942,46 @@ void registerClusterUnitLocalization(Commands & commands, CredentialIssuerComman // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "basic-identification", Attributes::BasicIdentification::Id, credsIssuerConfig), // + make_unique(Id, "company-name", Attributes::CompanyName::Id, credsIssuerConfig), // + make_unique(Id, "company-id", Attributes::CompanyId::Id, credsIssuerConfig), // + make_unique(Id, "brand-name", Attributes::BrandName::Id, credsIssuerConfig), // + make_unique(Id, "brand-id", Attributes::BrandId::Id, credsIssuerConfig), // + make_unique(Id, "model", Attributes::Model::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-revision", Attributes::ProductRevision::Id, credsIssuerConfig), // + make_unique(Id, "software-revision", Attributes::SoftwareRevision::Id, credsIssuerConfig), // + make_unique(Id, "product-type-name", Attributes::ProductTypeName::Id, credsIssuerConfig), // + make_unique(Id, "product-type-id", Attributes::ProductTypeId::Id, credsIssuerConfig), // + make_unique(Id, "ceced-specification-version", Attributes::CecedSpecificationVersion::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "basic-identification", Attributes::BasicIdentification::Id, credsIssuerConfig), // + make_unique(Id, "company-name", Attributes::CompanyName::Id, credsIssuerConfig), // + make_unique(Id, "company-id", Attributes::CompanyId::Id, credsIssuerConfig), // + make_unique(Id, "brand-name", Attributes::BrandName::Id, credsIssuerConfig), // + make_unique(Id, "brand-id", Attributes::BrandId::Id, credsIssuerConfig), // + make_unique(Id, "model", Attributes::Model::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-revision", Attributes::ProductRevision::Id, credsIssuerConfig), // + make_unique(Id, "software-revision", Attributes::SoftwareRevision::Id, credsIssuerConfig), // + make_unique(Id, "product-type-name", Attributes::ProductTypeName::Id, credsIssuerConfig), // + make_unique(Id, "product-type-id", Attributes::ProductTypeId::Id, credsIssuerConfig), // + make_unique(Id, "ceced-specification-version", Attributes::CecedSpecificationVersion::Id, + credsIssuerConfig), // + make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, + credsIssuerConfig), // + make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, + credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // @@ -12990,11 +22994,11 @@ void registerClusterUnitLocalization(Commands & commands, CredentialIssuerComman commands.Register(clusterName, clusterCommands); } -void registerClusterUserLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterMeterIdentification(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::UserLabel; + using namespace chip::app::Clusters::MeterIdentification; - const char * clusterName = "UserLabel"; + const char * clusterName = "MeterIdentification"; commands_list clusterCommands = { // @@ -13004,21 +23008,47 @@ void registerClusterUserLabel(Commands & commands, CredentialIssuerCommands * cr // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "company-name", Attributes::CompanyName::Id, credsIssuerConfig), // + make_unique(Id, "meter-type-id", Attributes::MeterTypeId::Id, credsIssuerConfig), // + make_unique(Id, "data-quality-id", Attributes::DataQualityId::Id, credsIssuerConfig), // + make_unique(Id, "customer-name", Attributes::CustomerName::Id, credsIssuerConfig), // + make_unique(Id, "model", Attributes::Model::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-revision", Attributes::ProductRevision::Id, credsIssuerConfig), // + make_unique(Id, "software-revision", Attributes::SoftwareRevision::Id, credsIssuerConfig), // + make_unique(Id, "utility-name", Attributes::UtilityName::Id, credsIssuerConfig), // + make_unique(Id, "pod", Attributes::Pod::Id, credsIssuerConfig), // + make_unique(Id, "available-power", Attributes::AvailablePower::Id, credsIssuerConfig), // + make_unique(Id, "power-threshold", Attributes::PowerThreshold::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "company-name", Attributes::CompanyName::Id, credsIssuerConfig), // + make_unique(Id, "meter-type-id", Attributes::MeterTypeId::Id, credsIssuerConfig), // + make_unique(Id, "data-quality-id", Attributes::DataQualityId::Id, credsIssuerConfig), // + make_unique(Id, "customer-name", Attributes::CustomerName::Id, credsIssuerConfig), // + make_unique(Id, "model", Attributes::Model::Id, credsIssuerConfig), // + make_unique(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), // + make_unique(Id, "product-revision", Attributes::ProductRevision::Id, credsIssuerConfig), // + make_unique(Id, "software-revision", Attributes::SoftwareRevision::Id, credsIssuerConfig), // + make_unique(Id, "utility-name", Attributes::UtilityName::Id, credsIssuerConfig), // + make_unique(Id, "pod", Attributes::Pod::Id, credsIssuerConfig), // + make_unique(Id, "available-power", Attributes::AvailablePower::Id, credsIssuerConfig), // + make_unique(Id, "power-threshold", Attributes::PowerThreshold::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // // // Events @@ -13029,36 +23059,37 @@ void registerClusterUserLabel(Commands & commands, CredentialIssuerCommands * cr commands.Register(clusterName, clusterCommands); } -void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterApplianceEventsAndAlert(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::WakeOnLan; + using namespace chip::app::Clusters::ApplianceEventsAndAlert; - const char * clusterName = "WakeOnLan"; + const char * clusterName = "ApplianceEventsAndAlert"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "wake-on-lan-mac-address", Attributes::WakeOnLanMacAddress::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "wake-on-lan-mac-address", Attributes::WakeOnLanMacAddress::Id, credsIssuerConfig), // + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // // // Events @@ -13068,60 +23099,37 @@ void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * cr }; commands.Register(clusterName, clusterCommands); -} -void registerClusterWiFiNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::WiFiNetworkDiagnostics; - - const char * clusterName = "WiFiNetworkDiagnostics"; - - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "bssid", Attributes::Bssid::Id, credsIssuerConfig), // - make_unique(Id, "security-type", Attributes::SecurityType::Id, credsIssuerConfig), // - make_unique(Id, "wi-fi-version", Attributes::WiFiVersion::Id, credsIssuerConfig), // - make_unique(Id, "channel-number", Attributes::ChannelNumber::Id, credsIssuerConfig), // - make_unique(Id, "rssi", Attributes::Rssi::Id, credsIssuerConfig), // - make_unique(Id, "beacon-lost-count", Attributes::BeaconLostCount::Id, credsIssuerConfig), // - make_unique(Id, "beacon-rx-count", Attributes::BeaconRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-multicast-rx-count", Attributes::PacketMulticastRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-multicast-tx-count", Attributes::PacketMulticastTxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-unicast-rx-count", Attributes::PacketUnicastRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-unicast-tx-count", Attributes::PacketUnicastTxCount::Id, credsIssuerConfig), // - make_unique(Id, "current-max-rate", Attributes::CurrentMaxRate::Id, credsIssuerConfig), // - make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // +} +void registerClusterApplianceStatistics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ApplianceStatistics; + + const char * clusterName = "ApplianceStatistics"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "log-max-size", Attributes::LogMaxSize::Id, credsIssuerConfig), // + make_unique(Id, "log-queue-max-size", Attributes::LogQueueMaxSize::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, - credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "bssid", Attributes::Bssid::Id, credsIssuerConfig), // - make_unique(Id, "security-type", Attributes::SecurityType::Id, credsIssuerConfig), // - make_unique(Id, "wi-fi-version", Attributes::WiFiVersion::Id, credsIssuerConfig), // - make_unique(Id, "channel-number", Attributes::ChannelNumber::Id, credsIssuerConfig), // - make_unique(Id, "rssi", Attributes::Rssi::Id, credsIssuerConfig), // - make_unique(Id, "beacon-lost-count", Attributes::BeaconLostCount::Id, credsIssuerConfig), // - make_unique(Id, "beacon-rx-count", Attributes::BeaconRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-multicast-rx-count", Attributes::PacketMulticastRxCount::Id, - credsIssuerConfig), // - make_unique(Id, "packet-multicast-tx-count", Attributes::PacketMulticastTxCount::Id, - credsIssuerConfig), // - make_unique(Id, "packet-unicast-rx-count", Attributes::PacketUnicastRxCount::Id, credsIssuerConfig), // - make_unique(Id, "packet-unicast-tx-count", Attributes::PacketUnicastTxCount::Id, credsIssuerConfig), // - make_unique(Id, "current-max-rate", Attributes::CurrentMaxRate::Id, credsIssuerConfig), // - make_unique(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), // + credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "log-max-size", Attributes::LogMaxSize::Id, credsIssuerConfig), // + make_unique(Id, "log-queue-max-size", Attributes::LogQueueMaxSize::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, @@ -13132,66 +23140,192 @@ void registerClusterWiFiNetworkDiagnostics(Commands & commands, CredentialIssuer // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "disconnection", Events::Disconnection::Id, credsIssuerConfig), // - make_unique(Id, "association-failure", Events::AssociationFailure::Id, credsIssuerConfig), // - make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "disconnection", Events::Disconnection::Id, credsIssuerConfig), // - make_unique(Id, "association-failure", Events::AssociationFailure::Id, credsIssuerConfig), // - make_unique(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // }; commands.Register(clusterName, clusterCommands); } -void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterElectricalMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::WindowCovering; + using namespace chip::app::Clusters::ElectricalMeasurement; - const char * clusterName = "WindowCovering"; + const char * clusterName = "ElectricalMeasurement"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "type", Attributes::Type::Id, credsIssuerConfig), // - make_unique(Id, "current-position-lift", Attributes::CurrentPositionLift::Id, credsIssuerConfig), // - make_unique(Id, "current-position-tilt", Attributes::CurrentPositionTilt::Id, credsIssuerConfig), // - make_unique(Id, "config-status", Attributes::ConfigStatus::Id, credsIssuerConfig), // - make_unique(Id, "current-position-lift-percentage", Attributes::CurrentPositionLiftPercentage::Id, + make_unique(Id, "measurement-type", Attributes::MeasurementType::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage", Attributes::DcVoltage::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-min", Attributes::DcVoltageMin::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-max", Attributes::DcVoltageMax::Id, credsIssuerConfig), // + make_unique(Id, "dc-current", Attributes::DcCurrent::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-min", Attributes::DcCurrentMin::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-max", Attributes::DcCurrentMax::Id, credsIssuerConfig), // + make_unique(Id, "dc-power", Attributes::DcPower::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-min", Attributes::DcPowerMin::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-max", Attributes::DcPowerMax::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-multiplier", Attributes::DcVoltageMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-divisor", Attributes::DcVoltageDivisor::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-multiplier", Attributes::DcCurrentMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-divisor", Attributes::DcCurrentDivisor::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-multiplier", Attributes::DcPowerMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-divisor", Attributes::DcPowerDivisor::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency", Attributes::AcFrequency::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency-min", Attributes::AcFrequencyMin::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency-max", Attributes::AcFrequencyMax::Id, credsIssuerConfig), // + make_unique(Id, "neutral-current", Attributes::NeutralCurrent::Id, credsIssuerConfig), // + make_unique(Id, "total-active-power", Attributes::TotalActivePower::Id, credsIssuerConfig), // + make_unique(Id, "total-reactive-power", Attributes::TotalReactivePower::Id, credsIssuerConfig), // + make_unique(Id, "total-apparent-power", Attributes::TotalApparentPower::Id, credsIssuerConfig), // + make_unique(Id, "measured1st-harmonic-current", Attributes::Measured1stHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "current-position-tilt-percentage", Attributes::CurrentPositionTiltPercentage::Id, - credsIssuerConfig), // - make_unique(Id, "operational-status", Attributes::OperationalStatus::Id, credsIssuerConfig), // - make_unique(Id, "target-position-lift-percent100ths", Attributes::TargetPositionLiftPercent100ths::Id, + make_unique(Id, "measured3rd-harmonic-current", Attributes::Measured3rdHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "target-position-tilt-percent100ths", Attributes::TargetPositionTiltPercent100ths::Id, - credsIssuerConfig), // - make_unique(Id, "end-product-type", Attributes::EndProductType::Id, credsIssuerConfig), // - make_unique(Id, "current-position-lift-percent100ths", Attributes::CurrentPositionLiftPercent100ths::Id, + make_unique(Id, "measured5th-harmonic-current", Attributes::Measured5thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured7th-harmonic-current", Attributes::Measured7thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured9th-harmonic-current", Attributes::Measured9thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured11th-harmonic-current", Attributes::Measured11thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase1st-harmonic-current", Attributes::MeasuredPhase1stHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase3rd-harmonic-current", Attributes::MeasuredPhase3rdHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase5th-harmonic-current", Attributes::MeasuredPhase5thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase7th-harmonic-current", Attributes::MeasuredPhase7thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase9th-harmonic-current", Attributes::MeasuredPhase9thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase11th-harmonic-current", Attributes::MeasuredPhase11thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "ac-frequency-multiplier", Attributes::AcFrequencyMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency-divisor", Attributes::AcFrequencyDivisor::Id, credsIssuerConfig), // + make_unique(Id, "power-multiplier", Attributes::PowerMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "power-divisor", Attributes::PowerDivisor::Id, credsIssuerConfig), // + make_unique(Id, "harmonic-current-multiplier", Attributes::HarmonicCurrentMultiplier::Id, + credsIssuerConfig), // + make_unique(Id, "phase-harmonic-current-multiplier", Attributes::PhaseHarmonicCurrentMultiplier::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-voltage", Attributes::InstantaneousVoltage::Id, credsIssuerConfig), // + make_unique(Id, "instantaneous-line-current", Attributes::InstantaneousLineCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-active-current", Attributes::InstantaneousActiveCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-reactive-current", Attributes::InstantaneousReactiveCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-power", Attributes::InstantaneousPower::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage", Attributes::RmsVoltage::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-min", Attributes::RmsVoltageMin::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-max", Attributes::RmsVoltageMax::Id, credsIssuerConfig), // + make_unique(Id, "rms-current", Attributes::RmsCurrent::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-min", Attributes::RmsCurrentMin::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-max", Attributes::RmsCurrentMax::Id, credsIssuerConfig), // + make_unique(Id, "active-power", Attributes::ActivePower::Id, credsIssuerConfig), // + make_unique(Id, "active-power-min", Attributes::ActivePowerMin::Id, credsIssuerConfig), // + make_unique(Id, "active-power-max", Attributes::ActivePowerMax::Id, credsIssuerConfig), // + make_unique(Id, "reactive-power", Attributes::ReactivePower::Id, credsIssuerConfig), // + make_unique(Id, "apparent-power", Attributes::ApparentPower::Id, credsIssuerConfig), // + make_unique(Id, "power-factor", Attributes::PowerFactor::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-voltage-measurement-period", Attributes::AverageRmsVoltageMeasurementPeriod::Id, + credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage-counter", Attributes::AverageRmsUnderVoltageCounter::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage-period", Attributes::RmsExtremeOverVoltagePeriod::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage-period", Attributes::RmsExtremeUnderVoltagePeriod::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag-period", Attributes::RmsVoltageSagPeriod::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell-period", Attributes::RmsVoltageSwellPeriod::Id, credsIssuerConfig), // + make_unique(Id, "ac-voltage-multiplier", Attributes::AcVoltageMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-voltage-divisor", Attributes::AcVoltageDivisor::Id, credsIssuerConfig), // + make_unique(Id, "ac-current-multiplier", Attributes::AcCurrentMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-current-divisor", Attributes::AcCurrentDivisor::Id, credsIssuerConfig), // + make_unique(Id, "ac-power-multiplier", Attributes::AcPowerMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-power-divisor", Attributes::AcPowerDivisor::Id, credsIssuerConfig), // + make_unique(Id, "overload-alarms-mask", Attributes::OverloadAlarmsMask::Id, credsIssuerConfig), // + make_unique(Id, "voltage-overload", Attributes::VoltageOverload::Id, credsIssuerConfig), // + make_unique(Id, "current-overload", Attributes::CurrentOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-overload-alarms-mask", Attributes::AcOverloadAlarmsMask::Id, credsIssuerConfig), // + make_unique(Id, "ac-voltage-overload", Attributes::AcVoltageOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-current-overload", Attributes::AcCurrentOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-active-power-overload", Attributes::AcActivePowerOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-reactive-power-overload", Attributes::AcReactivePowerOverload::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-over-voltage", Attributes::AverageRmsOverVoltage::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage", Attributes::AverageRmsUnderVoltage::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage", Attributes::RmsExtremeOverVoltage::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage", Attributes::RmsExtremeUnderVoltage::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag", Attributes::RmsVoltageSag::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell", Attributes::RmsVoltageSwell::Id, credsIssuerConfig), // + make_unique(Id, "line-current-phase-b", Attributes::LineCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-current-phase-b", Attributes::ActiveCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "reactive-current-phase-b", Attributes::ReactiveCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-phase-b", Attributes::RmsVoltagePhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-min-phase-b", Attributes::RmsVoltageMinPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-max-phase-b", Attributes::RmsVoltageMaxPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-phase-b", Attributes::RmsCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-min-phase-b", Attributes::RmsCurrentMinPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-max-phase-b", Attributes::RmsCurrentMaxPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-power-phase-b", Attributes::ActivePowerPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-power-min-phase-b", Attributes::ActivePowerMinPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-power-max-phase-b", Attributes::ActivePowerMaxPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "reactive-power-phase-b", Attributes::ReactivePowerPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "apparent-power-phase-b", Attributes::ApparentPowerPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "power-factor-phase-b", Attributes::PowerFactorPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-voltage-measurement-period-phase-b", + Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-over-voltage-counter-phase-b", + Attributes::AverageRmsOverVoltageCounterPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage-counter-phase-b", + Attributes::AverageRmsUnderVoltageCounterPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage-period-phase-b", Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage-period-phase-b", + Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag-period-phase-b", Attributes::RmsVoltageSagPeriodPhaseB::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell-period-phase-b", Attributes::RmsVoltageSwellPeriodPhaseB::Id, + credsIssuerConfig), // + make_unique(Id, "line-current-phase-c", Attributes::LineCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-current-phase-c", Attributes::ActiveCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "reactive-current-phase-c", Attributes::ReactiveCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-phase-c", Attributes::RmsVoltagePhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-min-phase-c", Attributes::RmsVoltageMinPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-max-phase-c", Attributes::RmsVoltageMaxPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-phase-c", Attributes::RmsCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-min-phase-c", Attributes::RmsCurrentMinPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-max-phase-c", Attributes::RmsCurrentMaxPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-power-phase-c", Attributes::ActivePowerPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-power-min-phase-c", Attributes::ActivePowerMinPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-power-max-phase-c", Attributes::ActivePowerMaxPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "reactive-power-phase-c", Attributes::ReactivePowerPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "apparent-power-phase-c", Attributes::ApparentPowerPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "power-factor-phase-c", Attributes::PowerFactorPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-voltage-measurement-period-phase-c", + Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-over-voltage-counter-phase-c", + Attributes::AverageRmsOverVoltageCounterPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage-counter-phase-c", + Attributes::AverageRmsUnderVoltageCounterPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage-period-phase-c", Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage-period-phase-c", + Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag-period-phase-c", Attributes::RmsVoltageSagPeriodPhaseC::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell-period-phase-c", Attributes::RmsVoltageSwellPeriodPhaseC::Id, credsIssuerConfig), // - make_unique(Id, "current-position-tilt-percent100ths", Attributes::CurrentPositionTiltPercent100ths::Id, - credsIssuerConfig), // - make_unique(Id, "installed-open-limit-lift", Attributes::InstalledOpenLimitLift::Id, credsIssuerConfig), // - make_unique(Id, "installed-closed-limit-lift", Attributes::InstalledClosedLimitLift::Id, - credsIssuerConfig), // - make_unique(Id, "installed-open-limit-tilt", Attributes::InstalledOpenLimitTilt::Id, credsIssuerConfig), // - make_unique(Id, "installed-closed-limit-tilt", Attributes::InstalledClosedLimitTilt::Id, - credsIssuerConfig), // - make_unique(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), // - make_unique(Id, "safety-status", Attributes::SafetyStatus::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, @@ -13200,36 +23334,187 @@ void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "type", Attributes::Type::Id, credsIssuerConfig), // - make_unique(Id, "current-position-lift", Attributes::CurrentPositionLift::Id, credsIssuerConfig), // - make_unique(Id, "current-position-tilt", Attributes::CurrentPositionTilt::Id, credsIssuerConfig), // - make_unique(Id, "config-status", Attributes::ConfigStatus::Id, credsIssuerConfig), // - make_unique(Id, "current-position-lift-percentage", Attributes::CurrentPositionLiftPercentage::Id, + make_unique(Id, "measurement-type", Attributes::MeasurementType::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage", Attributes::DcVoltage::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-min", Attributes::DcVoltageMin::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-max", Attributes::DcVoltageMax::Id, credsIssuerConfig), // + make_unique(Id, "dc-current", Attributes::DcCurrent::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-min", Attributes::DcCurrentMin::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-max", Attributes::DcCurrentMax::Id, credsIssuerConfig), // + make_unique(Id, "dc-power", Attributes::DcPower::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-min", Attributes::DcPowerMin::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-max", Attributes::DcPowerMax::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-multiplier", Attributes::DcVoltageMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "dc-voltage-divisor", Attributes::DcVoltageDivisor::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-multiplier", Attributes::DcCurrentMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "dc-current-divisor", Attributes::DcCurrentDivisor::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-multiplier", Attributes::DcPowerMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "dc-power-divisor", Attributes::DcPowerDivisor::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency", Attributes::AcFrequency::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency-min", Attributes::AcFrequencyMin::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency-max", Attributes::AcFrequencyMax::Id, credsIssuerConfig), // + make_unique(Id, "neutral-current", Attributes::NeutralCurrent::Id, credsIssuerConfig), // + make_unique(Id, "total-active-power", Attributes::TotalActivePower::Id, credsIssuerConfig), // + make_unique(Id, "total-reactive-power", Attributes::TotalReactivePower::Id, credsIssuerConfig), // + make_unique(Id, "total-apparent-power", Attributes::TotalApparentPower::Id, credsIssuerConfig), // + make_unique(Id, "measured1st-harmonic-current", Attributes::Measured1stHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "current-position-tilt-percentage", Attributes::CurrentPositionTiltPercentage::Id, - credsIssuerConfig), // - make_unique(Id, "operational-status", Attributes::OperationalStatus::Id, credsIssuerConfig), // - make_unique(Id, "target-position-lift-percent100ths", Attributes::TargetPositionLiftPercent100ths::Id, + make_unique(Id, "measured3rd-harmonic-current", Attributes::Measured3rdHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "target-position-tilt-percent100ths", Attributes::TargetPositionTiltPercent100ths::Id, - credsIssuerConfig), // - make_unique(Id, "end-product-type", Attributes::EndProductType::Id, credsIssuerConfig), // - make_unique(Id, "current-position-lift-percent100ths", Attributes::CurrentPositionLiftPercent100ths::Id, + make_unique(Id, "measured5th-harmonic-current", Attributes::Measured5thHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "current-position-tilt-percent100ths", Attributes::CurrentPositionTiltPercent100ths::Id, + make_unique(Id, "measured7th-harmonic-current", Attributes::Measured7thHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "installed-open-limit-lift", Attributes::InstalledOpenLimitLift::Id, + make_unique(Id, "measured9th-harmonic-current", Attributes::Measured9thHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "installed-closed-limit-lift", Attributes::InstalledClosedLimitLift::Id, + make_unique(Id, "measured11th-harmonic-current", Attributes::Measured11thHarmonicCurrent::Id, credsIssuerConfig), // - make_unique(Id, "installed-open-limit-tilt", Attributes::InstalledOpenLimitTilt::Id, + make_unique(Id, "measured-phase1st-harmonic-current", Attributes::MeasuredPhase1stHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase3rd-harmonic-current", Attributes::MeasuredPhase3rdHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase5th-harmonic-current", Attributes::MeasuredPhase5thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase7th-harmonic-current", Attributes::MeasuredPhase7thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase9th-harmonic-current", Attributes::MeasuredPhase9thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "measured-phase11th-harmonic-current", Attributes::MeasuredPhase11thHarmonicCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "ac-frequency-multiplier", Attributes::AcFrequencyMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-frequency-divisor", Attributes::AcFrequencyDivisor::Id, credsIssuerConfig), // + make_unique(Id, "power-multiplier", Attributes::PowerMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "power-divisor", Attributes::PowerDivisor::Id, credsIssuerConfig), // + make_unique(Id, "harmonic-current-multiplier", Attributes::HarmonicCurrentMultiplier::Id, + credsIssuerConfig), // + make_unique(Id, "phase-harmonic-current-multiplier", Attributes::PhaseHarmonicCurrentMultiplier::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-voltage", Attributes::InstantaneousVoltage::Id, credsIssuerConfig), // + make_unique(Id, "instantaneous-line-current", Attributes::InstantaneousLineCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-active-current", Attributes::InstantaneousActiveCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-reactive-current", Attributes::InstantaneousReactiveCurrent::Id, + credsIssuerConfig), // + make_unique(Id, "instantaneous-power", Attributes::InstantaneousPower::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage", Attributes::RmsVoltage::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-min", Attributes::RmsVoltageMin::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-max", Attributes::RmsVoltageMax::Id, credsIssuerConfig), // + make_unique(Id, "rms-current", Attributes::RmsCurrent::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-min", Attributes::RmsCurrentMin::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-max", Attributes::RmsCurrentMax::Id, credsIssuerConfig), // + make_unique(Id, "active-power", Attributes::ActivePower::Id, credsIssuerConfig), // + make_unique(Id, "active-power-min", Attributes::ActivePowerMin::Id, credsIssuerConfig), // + make_unique(Id, "active-power-max", Attributes::ActivePowerMax::Id, credsIssuerConfig), // + make_unique(Id, "reactive-power", Attributes::ReactivePower::Id, credsIssuerConfig), // + make_unique(Id, "apparent-power", Attributes::ApparentPower::Id, credsIssuerConfig), // + make_unique(Id, "power-factor", Attributes::PowerFactor::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-voltage-measurement-period", + Attributes::AverageRmsVoltageMeasurementPeriod::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage-counter", Attributes::AverageRmsUnderVoltageCounter::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage-period", Attributes::RmsExtremeOverVoltagePeriod::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage-period", Attributes::RmsExtremeUnderVoltagePeriod::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag-period", Attributes::RmsVoltageSagPeriod::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell-period", Attributes::RmsVoltageSwellPeriod::Id, + credsIssuerConfig), // + make_unique(Id, "ac-voltage-multiplier", Attributes::AcVoltageMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-voltage-divisor", Attributes::AcVoltageDivisor::Id, credsIssuerConfig), // + make_unique(Id, "ac-current-multiplier", Attributes::AcCurrentMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-current-divisor", Attributes::AcCurrentDivisor::Id, credsIssuerConfig), // + make_unique(Id, "ac-power-multiplier", Attributes::AcPowerMultiplier::Id, credsIssuerConfig), // + make_unique(Id, "ac-power-divisor", Attributes::AcPowerDivisor::Id, credsIssuerConfig), // + make_unique(Id, "overload-alarms-mask", Attributes::OverloadAlarmsMask::Id, credsIssuerConfig), // + make_unique(Id, "voltage-overload", Attributes::VoltageOverload::Id, credsIssuerConfig), // + make_unique(Id, "current-overload", Attributes::CurrentOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-overload-alarms-mask", Attributes::AcOverloadAlarmsMask::Id, credsIssuerConfig), // + make_unique(Id, "ac-voltage-overload", Attributes::AcVoltageOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-current-overload", Attributes::AcCurrentOverload::Id, credsIssuerConfig), // + make_unique(Id, "ac-active-power-overload", Attributes::AcActivePowerOverload::Id, + credsIssuerConfig), // + make_unique(Id, "ac-reactive-power-overload", Attributes::AcReactivePowerOverload::Id, + credsIssuerConfig), // + make_unique(Id, "average-rms-over-voltage", Attributes::AverageRmsOverVoltage::Id, + credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage", Attributes::AverageRmsUnderVoltage::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage", Attributes::RmsExtremeOverVoltage::Id, + credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage", Attributes::RmsExtremeUnderVoltage::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag", Attributes::RmsVoltageSag::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell", Attributes::RmsVoltageSwell::Id, credsIssuerConfig), // + make_unique(Id, "line-current-phase-b", Attributes::LineCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-current-phase-b", Attributes::ActiveCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "reactive-current-phase-b", Attributes::ReactiveCurrentPhaseB::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-phase-b", Attributes::RmsVoltagePhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-min-phase-b", Attributes::RmsVoltageMinPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-max-phase-b", Attributes::RmsVoltageMaxPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-phase-b", Attributes::RmsCurrentPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-min-phase-b", Attributes::RmsCurrentMinPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-max-phase-b", Attributes::RmsCurrentMaxPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-power-phase-b", Attributes::ActivePowerPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-power-min-phase-b", Attributes::ActivePowerMinPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "active-power-max-phase-b", Attributes::ActivePowerMaxPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "reactive-power-phase-b", Attributes::ReactivePowerPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "apparent-power-phase-b", Attributes::ApparentPowerPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "power-factor-phase-b", Attributes::PowerFactorPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-voltage-measurement-period-phase-b", + Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-over-voltage-counter-phase-b", + Attributes::AverageRmsOverVoltageCounterPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage-counter-phase-b", + Attributes::AverageRmsUnderVoltageCounterPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage-period-phase-b", + Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage-period-phase-b", + Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag-period-phase-b", Attributes::RmsVoltageSagPeriodPhaseB::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell-period-phase-b", Attributes::RmsVoltageSwellPeriodPhaseB::Id, + credsIssuerConfig), // + make_unique(Id, "line-current-phase-c", Attributes::LineCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-current-phase-c", Attributes::ActiveCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "reactive-current-phase-c", Attributes::ReactiveCurrentPhaseC::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-phase-c", Attributes::RmsVoltagePhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-min-phase-c", Attributes::RmsVoltageMinPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-max-phase-c", Attributes::RmsVoltageMaxPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-phase-c", Attributes::RmsCurrentPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-min-phase-c", Attributes::RmsCurrentMinPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-current-max-phase-c", Attributes::RmsCurrentMaxPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-power-phase-c", Attributes::ActivePowerPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-power-min-phase-c", Attributes::ActivePowerMinPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "active-power-max-phase-c", Attributes::ActivePowerMaxPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "reactive-power-phase-c", Attributes::ReactivePowerPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "apparent-power-phase-c", Attributes::ApparentPowerPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "power-factor-phase-c", Attributes::PowerFactorPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-voltage-measurement-period-phase-c", + Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-over-voltage-counter-phase-c", + Attributes::AverageRmsOverVoltageCounterPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "average-rms-under-voltage-counter-phase-c", + Attributes::AverageRmsUnderVoltageCounterPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-over-voltage-period-phase-c", + Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-extreme-under-voltage-period-phase-c", + Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id, credsIssuerConfig), // + make_unique(Id, "rms-voltage-sag-period-phase-c", Attributes::RmsVoltageSagPeriodPhaseC::Id, + credsIssuerConfig), // + make_unique(Id, "rms-voltage-swell-period-phase-c", Attributes::RmsVoltageSwellPeriodPhaseC::Id, credsIssuerConfig), // - make_unique(Id, "installed-closed-limit-tilt", Attributes::InstalledClosedLimitTilt::Id, - credsIssuerConfig), // - make_unique(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), // - make_unique(Id, "safety-status", Attributes::SafetyStatus::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, @@ -13266,67 +23551,121 @@ void registerClusterAny(Commands & commands, CredentialIssuerCommands * credsIss void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { registerClusterAny(commands, credsIssuerConfig); - registerClusterAccessControl(commands, credsIssuerConfig); - registerClusterAccountLogin(commands, credsIssuerConfig); - registerClusterAdministratorCommissioning(commands, credsIssuerConfig); - registerClusterApplicationBasic(commands, credsIssuerConfig); - registerClusterApplicationLauncher(commands, credsIssuerConfig); - registerClusterAudioOutput(commands, credsIssuerConfig); - registerClusterBarrierControl(commands, credsIssuerConfig); - registerClusterBasic(commands, credsIssuerConfig); + registerClusterPowerConfiguration(commands, credsIssuerConfig); + registerClusterDeviceTemperatureConfiguration(commands, credsIssuerConfig); + registerClusterIdentify(commands, credsIssuerConfig); + registerClusterGroups(commands, credsIssuerConfig); + registerClusterScenes(commands, credsIssuerConfig); + registerClusterOnOff(commands, credsIssuerConfig); + registerClusterOnOffSwitchConfiguration(commands, credsIssuerConfig); + registerClusterLevelControl(commands, credsIssuerConfig); + registerClusterAlarms(commands, credsIssuerConfig); + registerClusterTime(commands, credsIssuerConfig); registerClusterBinaryInputBasic(commands, credsIssuerConfig); + registerClusterPowerProfile(commands, credsIssuerConfig); + registerClusterApplianceControl(commands, credsIssuerConfig); + registerClusterPulseWidthModulation(commands, credsIssuerConfig); + registerClusterDescriptor(commands, credsIssuerConfig); registerClusterBinding(commands, credsIssuerConfig); - registerClusterBooleanState(commands, credsIssuerConfig); + registerClusterAccessControl(commands, credsIssuerConfig); + registerClusterPollControl(commands, credsIssuerConfig); registerClusterBridgedActions(commands, credsIssuerConfig); - registerClusterBridgedDeviceBasic(commands, credsIssuerConfig); - registerClusterChannel(commands, credsIssuerConfig); - registerClusterColorControl(commands, credsIssuerConfig); - registerClusterContentLauncher(commands, credsIssuerConfig); - registerClusterDescriptor(commands, credsIssuerConfig); - registerClusterDiagnosticLogs(commands, credsIssuerConfig); - registerClusterDoorLock(commands, credsIssuerConfig); - registerClusterElectricalMeasurement(commands, credsIssuerConfig); - registerClusterEthernetNetworkDiagnostics(commands, credsIssuerConfig); - registerClusterFixedLabel(commands, credsIssuerConfig); - registerClusterFlowMeasurement(commands, credsIssuerConfig); - registerClusterGeneralCommissioning(commands, credsIssuerConfig); - registerClusterGeneralDiagnostics(commands, credsIssuerConfig); - registerClusterGroupKeyManagement(commands, credsIssuerConfig); - registerClusterGroups(commands, credsIssuerConfig); - registerClusterIdentify(commands, credsIssuerConfig); - registerClusterIlluminanceMeasurement(commands, credsIssuerConfig); - registerClusterKeypadInput(commands, credsIssuerConfig); - registerClusterLevelControl(commands, credsIssuerConfig); - registerClusterLocalizationConfiguration(commands, credsIssuerConfig); - registerClusterLowPower(commands, credsIssuerConfig); - registerClusterMediaInput(commands, credsIssuerConfig); - registerClusterMediaPlayback(commands, credsIssuerConfig); - registerClusterModeSelect(commands, credsIssuerConfig); - registerClusterNetworkCommissioning(commands, credsIssuerConfig); + registerClusterBasic(commands, credsIssuerConfig); registerClusterOtaSoftwareUpdateProvider(commands, credsIssuerConfig); registerClusterOtaSoftwareUpdateRequestor(commands, credsIssuerConfig); - registerClusterOccupancySensing(commands, credsIssuerConfig); - registerClusterOnOff(commands, credsIssuerConfig); - registerClusterOnOffSwitchConfiguration(commands, credsIssuerConfig); - registerClusterOperationalCredentials(commands, credsIssuerConfig); - registerClusterPowerSource(commands, credsIssuerConfig); + registerClusterLocalizationConfiguration(commands, credsIssuerConfig); + registerClusterTimeFormatLocalization(commands, credsIssuerConfig); + registerClusterUnitLocalization(commands, credsIssuerConfig); registerClusterPowerSourceConfiguration(commands, credsIssuerConfig); - registerClusterPressureMeasurement(commands, credsIssuerConfig); - registerClusterPumpConfigurationAndControl(commands, credsIssuerConfig); - registerClusterRelativeHumidityMeasurement(commands, credsIssuerConfig); - registerClusterScenes(commands, credsIssuerConfig); + registerClusterPowerSource(commands, credsIssuerConfig); + registerClusterGeneralCommissioning(commands, credsIssuerConfig); + registerClusterNetworkCommissioning(commands, credsIssuerConfig); + registerClusterDiagnosticLogs(commands, credsIssuerConfig); + registerClusterGeneralDiagnostics(commands, credsIssuerConfig); registerClusterSoftwareDiagnostics(commands, credsIssuerConfig); + registerClusterThreadNetworkDiagnostics(commands, credsIssuerConfig); + registerClusterWiFiNetworkDiagnostics(commands, credsIssuerConfig); + registerClusterEthernetNetworkDiagnostics(commands, credsIssuerConfig); + registerClusterTimeSynchronization(commands, credsIssuerConfig); + registerClusterBridgedDeviceBasic(commands, credsIssuerConfig); registerClusterSwitch(commands, credsIssuerConfig); - registerClusterTargetNavigator(commands, credsIssuerConfig); - registerClusterTemperatureMeasurement(commands, credsIssuerConfig); - registerClusterTestCluster(commands, credsIssuerConfig); + registerClusterAdministratorCommissioning(commands, credsIssuerConfig); + registerClusterOperationalCredentials(commands, credsIssuerConfig); + registerClusterGroupKeyManagement(commands, credsIssuerConfig); + registerClusterFixedLabel(commands, credsIssuerConfig); + registerClusterUserLabel(commands, credsIssuerConfig); + registerClusterProxyConfiguration(commands, credsIssuerConfig); + registerClusterProxyDiscovery(commands, credsIssuerConfig); + registerClusterProxyValid(commands, credsIssuerConfig); + registerClusterBooleanState(commands, credsIssuerConfig); + registerClusterModeSelect(commands, credsIssuerConfig); + registerClusterShadeConfiguration(commands, credsIssuerConfig); + registerClusterDoorLock(commands, credsIssuerConfig); + registerClusterWindowCovering(commands, credsIssuerConfig); + registerClusterBarrierControl(commands, credsIssuerConfig); + registerClusterPumpConfigurationAndControl(commands, credsIssuerConfig); registerClusterThermostat(commands, credsIssuerConfig); + registerClusterFanControl(commands, credsIssuerConfig); + registerClusterDehumidificationControl(commands, credsIssuerConfig); registerClusterThermostatUserInterfaceConfiguration(commands, credsIssuerConfig); - registerClusterThreadNetworkDiagnostics(commands, credsIssuerConfig); - registerClusterTimeFormatLocalization(commands, credsIssuerConfig); - registerClusterUnitLocalization(commands, credsIssuerConfig); - registerClusterUserLabel(commands, credsIssuerConfig); + registerClusterColorControl(commands, credsIssuerConfig); + registerClusterBallastConfiguration(commands, credsIssuerConfig); + registerClusterIlluminanceMeasurement(commands, credsIssuerConfig); + registerClusterTemperatureMeasurement(commands, credsIssuerConfig); + registerClusterPressureMeasurement(commands, credsIssuerConfig); + registerClusterFlowMeasurement(commands, credsIssuerConfig); + registerClusterRelativeHumidityMeasurement(commands, credsIssuerConfig); + registerClusterOccupancySensing(commands, credsIssuerConfig); + registerClusterCarbonMonoxideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterCarbonDioxideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterEthyleneConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterEthyleneOxideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterHydrogenConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterHydrogenSulphideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterNitricOxideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterNitrogenDioxideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterOxygenConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterOzoneConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterSulfurDioxideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterDissolvedOxygenConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterBromateConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterChloraminesConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterChlorineConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterFecalColiformAndEColiConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterFluorideConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterHaloaceticAcidsConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterTotalTrihalomethanesConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterTotalColiformBacteriaConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterTurbidityConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterCopperConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterLeadConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterManganeseConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterSulfateConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterBromodichloromethaneConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterBromoformConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterChlorodibromomethaneConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterChloroformConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterSodiumConcentrationMeasurement(commands, credsIssuerConfig); + registerClusterIasZone(commands, credsIssuerConfig); + registerClusterIasAce(commands, credsIssuerConfig); + registerClusterIasWd(commands, credsIssuerConfig); registerClusterWakeOnLan(commands, credsIssuerConfig); - registerClusterWiFiNetworkDiagnostics(commands, credsIssuerConfig); - registerClusterWindowCovering(commands, credsIssuerConfig); + registerClusterChannel(commands, credsIssuerConfig); + registerClusterTargetNavigator(commands, credsIssuerConfig); + registerClusterMediaPlayback(commands, credsIssuerConfig); + registerClusterMediaInput(commands, credsIssuerConfig); + registerClusterLowPower(commands, credsIssuerConfig); + registerClusterKeypadInput(commands, credsIssuerConfig); + registerClusterContentLauncher(commands, credsIssuerConfig); + registerClusterAudioOutput(commands, credsIssuerConfig); + registerClusterApplicationLauncher(commands, credsIssuerConfig); + registerClusterApplicationBasic(commands, credsIssuerConfig); + registerClusterAccountLogin(commands, credsIssuerConfig); + registerClusterTestCluster(commands, credsIssuerConfig); + registerClusterMessaging(commands, credsIssuerConfig); + registerClusterApplianceIdentification(commands, credsIssuerConfig); + registerClusterMeterIdentification(commands, credsIssuerConfig); + registerClusterApplianceEventsAndAlert(commands, credsIssuerConfig); + registerClusterApplianceStatistics(commands, credsIssuerConfig); + registerClusterElectricalMeasurement(commands, credsIssuerConfig); } diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp index 0027bbc44fc50c..f8ba961af077c7 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -3472,29 +3472,36 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetCredentialStatusResponse::DecodableType & value) + const DoorLock::Commands::GetLogRecordResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("credentialExists", indent + 1, value.credentialExists)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nextCredentialIndex", indent + 1, value.nextCredentialIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("logEntryId", indent + 1, value.logEntryId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("timestamp", indent + 1, value.timestamp)); + ReturnErrorOnFailure(DataModelLogger::LogValue("eventType", indent + 1, value.eventType)); + ReturnErrorOnFailure(DataModelLogger::LogValue("source", indent + 1, value.source)); + ReturnErrorOnFailure(DataModelLogger::LogValue("eventIdOrAlarmCode", indent + 1, value.eventIdOrAlarmCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("pin", indent + 1, value.pin)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetUserResponse::DecodableType & value) + const DoorLock::Commands::GetPINCodeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userName", indent + 1, value.userName)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userUniqueId", indent + 1, value.userUniqueId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); - ReturnErrorOnFailure(DataModelLogger::LogValue("credentialRule", indent + 1, value.credentialRule)); - ReturnErrorOnFailure(DataModelLogger::LogValue("credentials", indent + 1, value.credentials)); - ReturnErrorOnFailure(DataModelLogger::LogValue("creatorFabricIndex", indent + 1, value.creatorFabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("lastModifiedFabricIndex", indent + 1, value.lastModifiedFabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nextUserIndex", indent + 1, value.nextUserIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("pin", indent + 1, value.pin)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetUserStatusResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3525,6 +3532,83 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetHolidayScheduleResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("holidayIndex", indent + 1, value.holidayIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localStartTime", indent + 1, value.localStartTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localEndTime", indent + 1, value.localEndTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("operatingMode", indent + 1, value.operatingMode)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetUserTypeResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetRFIDCodeResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); + ReturnErrorOnFailure(DataModelLogger::LogValue("rfidCode", indent + 1, value.rfidCode)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetUserResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userName", indent + 1, value.userName)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userUniqueId", indent + 1, value.userUniqueId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); + ReturnErrorOnFailure(DataModelLogger::LogValue("credentialRule", indent + 1, value.credentialRule)); + ReturnErrorOnFailure(DataModelLogger::LogValue("credentials", indent + 1, value.credentials)); + ReturnErrorOnFailure(DataModelLogger::LogValue("creatorFabricIndex", indent + 1, value.creatorFabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("lastModifiedFabricIndex", indent + 1, value.lastModifiedFabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nextUserIndex", indent + 1, value.nextUserIndex)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::OperatingEventNotification::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("operationEventSource", indent + 1, value.operationEventSource)); + ReturnErrorOnFailure(DataModelLogger::LogValue("operationEventCode", indent + 1, value.operationEventCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("pin", indent + 1, value.pin)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localTime", indent + 1, value.localTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::ProgrammingEventNotification::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("programEventSource", indent + 1, value.programEventSource)); + ReturnErrorOnFailure(DataModelLogger::LogValue("programEventCode", indent + 1, value.programEventCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userId", indent + 1, value.userId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("pin", indent + 1, value.pin)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localTime", indent + 1, value.localTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const DoorLock::Commands::SetCredentialResponse::DecodableType & value) { @@ -3536,16 +3620,42 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType & value) + const DoorLock::Commands::GetCredentialStatusResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + ReturnErrorOnFailure(DataModelLogger::LogValue("credentialExists", indent + 1, value.credentialExists)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nextCredentialIndex", indent + 1, value.nextCredentialIndex)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType & value) + const ElectricalMeasurement::Commands::GetProfileInfoResponseCommand::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("profileCount", indent + 1, value.profileCount)); + ReturnErrorOnFailure(DataModelLogger::LogValue("profileIntervalPeriod", indent + 1, value.profileIntervalPeriod)); + ReturnErrorOnFailure(DataModelLogger::LogValue("maxNumberOfIntervals", indent + 1, value.maxNumberOfIntervals)); + ReturnErrorOnFailure(DataModelLogger::LogValue("listOfAttributes", indent + 1, value.listOfAttributes)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const ElectricalMeasurement::Commands::GetMeasurementProfileResponseCommand::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("startTime", indent + 1, value.startTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("profileIntervalPeriod", indent + 1, value.profileIntervalPeriod)); + ReturnErrorOnFailure(DataModelLogger::LogValue("numberOfIntervalsDelivered", indent + 1, value.numberOfIntervalsDelivered)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attributeId", indent + 1, value.attributeId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("intervals", indent + 1, value.intervals)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); @@ -3563,10 +3673,11 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType & value) + const GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupKeySetIDs", indent + 1, value.groupKeySetIDs)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3578,6 +3689,14 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupKeySetIDs", indent + 1, value.groupKeySetIDs)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Groups::Commands::AddGroupResponse::DecodableType & value) { @@ -3588,30 +3707,30 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::GetGroupMembershipResponse::DecodableType & value) + const Groups::Commands::ViewGroupResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupList", indent + 1, value.groupList)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupName", indent + 1, value.groupName)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::RemoveGroupResponse::DecodableType & value) + const Groups::Commands::GetGroupMembershipResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupList", indent + 1, value.groupList)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::ViewGroupResponse::DecodableType & value) + const Groups::Commands::RemoveGroupResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupName", indent + 1, value.groupName)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3640,12 +3759,13 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType & value) + const NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorValue", indent + 1, value.errorValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("wiFiScanResults", indent + 1, value.wiFiScanResults)); + ReturnErrorOnFailure(DataModelLogger::LogValue("threadScanResults", indent + 1, value.threadScanResults)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3659,22 +3779,12 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType & value) + const NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); - ReturnErrorOnFailure(DataModelLogger::LogValue("wiFiScanResults", indent + 1, value.wiFiScanResults)); - ReturnErrorOnFailure(DataModelLogger::LogValue("threadScanResults", indent + 1, value.threadScanResults)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("action", indent + 1, value.action)); - ReturnErrorOnFailure(DataModelLogger::LogValue("delayedActionTime", indent + 1, value.delayedActionTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorValue", indent + 1, value.errorValue)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3693,6 +3803,15 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("action", indent + 1, value.action)); + ReturnErrorOnFailure(DataModelLogger::LogValue("delayedActionTime", indent + 1, value.delayedActionTime)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const OperationalCredentials::Commands::AttestationResponse::DecodableType & value) { @@ -3703,19 +3822,19 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::CSRResponse::DecodableType & value) + const OperationalCredentials::Commands::CertificateChainResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("NOCSRElements", indent + 1, value.NOCSRElements)); - ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); + ReturnErrorOnFailure(DataModelLogger::LogValue("certificate", indent + 1, value.certificate)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::CertificateChainResponse::DecodableType & value) + const OperationalCredentials::Commands::CSRResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("certificate", indent + 1, value.certificate)); + ReturnErrorOnFailure(DataModelLogger::LogValue("NOCSRElements", indent + 1, value.NOCSRElements)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3740,14 +3859,25 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Scenes::Commands::GetSceneMembershipResponse::DecodableType & value) + const Scenes::Commands::ViewSceneResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneCount", indent + 1, value.sceneCount)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneList", indent + 1, value.sceneList)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("transitionTime", indent + 1, value.transitionTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneName", indent + 1, value.sceneName)); + ReturnErrorOnFailure(DataModelLogger::LogValue("extensionFieldSets", indent + 1, value.extensionFieldSets)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Scenes::Commands::RemoveSceneResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3761,7 +3891,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Scenes::Commands::RemoveSceneResponse::DecodableType & value) + const Scenes::Commands::StoreSceneResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); @@ -3771,7 +3901,19 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Scenes::Commands::StoreSceneResponse::DecodableType & value) + const Scenes::Commands::GetSceneMembershipResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneCount", indent + 1, value.sceneCount)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneList", indent + 1, value.sceneList)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Scenes::Commands::EnhancedAddSceneResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); @@ -3781,7 +3923,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Scenes::Commands::ViewSceneResponse::DecodableType & value) + const Scenes::Commands::EnhancedViewSceneResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); @@ -3794,27 +3936,29 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TargetNavigator::Commands::NavigateTargetResponse::DecodableType & value) + const Scenes::Commands::CopySceneResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupIdFrom", indent + 1, value.groupIdFrom)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneIdFrom", indent + 1, value.sceneIdFrom)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TestCluster::Commands::BooleanResponse::DecodableType & value) + const TargetNavigator::Commands::NavigateTargetResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TestCluster::Commands::SimpleStructResponse::DecodableType & value) + const TestCluster::Commands::TestSpecificResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3827,19 +3971,23 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TestCluster::Commands::TestEmitTestEventResponse::DecodableType & value) + const TestCluster::Commands::TestSimpleArgumentResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TestCluster::Commands::TestEnumsResponse::DecodableType & value) + const TestCluster::Commands::TestStructArrayArgumentResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); ReturnErrorOnFailure(DataModelLogger::LogValue("arg2", indent + 1, value.arg2)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg3", indent + 1, value.arg3)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg4", indent + 1, value.arg4)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg5", indent + 1, value.arg5)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg6", indent + 1, value.arg6)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3851,6 +3999,15 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TestCluster::Commands::TestEnumsResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg2", indent + 1, value.arg2)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const TestCluster::Commands::TestNullableOptionalResponse::DecodableType & value) { @@ -3863,42 +4020,107 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TestCluster::Commands::TestSpecificResponse::DecodableType & value) + const TestCluster::Commands::TestComplexNullableOptionalResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableIntWasNull", indent + 1, value.nullableIntWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableIntValue", indent + 1, value.nullableIntValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalIntWasPresent", indent + 1, value.optionalIntWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalIntValue", indent + 1, value.optionalIntValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalIntWasPresent", indent + 1, value.nullableOptionalIntWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalIntWasNull", indent + 1, value.nullableOptionalIntWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalIntValue", indent + 1, value.nullableOptionalIntValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStringWasNull", indent + 1, value.nullableStringWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStringValue", indent + 1, value.nullableStringValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStringWasPresent", indent + 1, value.optionalStringWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStringValue", indent + 1, value.optionalStringValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStringWasPresent", indent + 1, value.nullableOptionalStringWasPresent)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStringWasNull", indent + 1, value.nullableOptionalStringWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalStringValue", indent + 1, value.nullableOptionalStringValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStructWasNull", indent + 1, value.nullableStructWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStructValue", indent + 1, value.nullableStructValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStructWasPresent", indent + 1, value.optionalStructWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStructValue", indent + 1, value.optionalStructValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStructWasPresent", indent + 1, value.nullableOptionalStructWasPresent)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStructWasNull", indent + 1, value.nullableOptionalStructWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalStructValue", indent + 1, value.nullableOptionalStructValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableListWasNull", indent + 1, value.nullableListWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableListValue", indent + 1, value.nullableListValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalListWasPresent", indent + 1, value.optionalListWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalListValue", indent + 1, value.optionalListValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalListWasPresent", indent + 1, value.nullableOptionalListWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalListWasNull", indent + 1, value.nullableOptionalListWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalListValue", indent + 1, value.nullableOptionalListValue)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Thermostat::Commands::GetRelayStatusLogResponse::DecodableType & value) + const TestCluster::Commands::BooleanResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("timeOfDay", indent + 1, value.timeOfDay)); - ReturnErrorOnFailure(DataModelLogger::LogValue("relayStatus", indent + 1, value.relayStatus)); - ReturnErrorOnFailure(DataModelLogger::LogValue("localTemperature", indent + 1, value.localTemperature)); - ReturnErrorOnFailure(DataModelLogger::LogValue("humidityInPercentage", indent + 1, value.humidityInPercentage)); - ReturnErrorOnFailure(DataModelLogger::LogValue("setpoint", indent + 1, value.setpoint)); - ReturnErrorOnFailure(DataModelLogger::LogValue("unreadEntries", indent + 1, value.unreadEntries)); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType & value) + const TestCluster::Commands::SimpleStructResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure( - DataModelLogger::LogValue("numberOfTransitionsForSequence", indent + 1, value.numberOfTransitionsForSequence)); - ReturnErrorOnFailure(DataModelLogger::LogValue("dayOfWeekForSequence", indent + 1, value.dayOfWeekForSequence)); - ReturnErrorOnFailure(DataModelLogger::LogValue("modeForSequence", indent + 1, value.modeForSequence)); - ReturnErrorOnFailure(DataModelLogger::LogValue("payload", indent + 1, value.payload)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } - -CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributePath & path, chip::TLV::TLVReader * data) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TestCluster::Commands::TestEmitTestEventResponse::DecodableType & value) { - ChipLogProgress(chipTool, "Endpoint: %" PRIu16 " Cluster: " ChipLogFormatMEI " Attribute " ChipLogFormatMEI, path.mEndpointId, + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TestCluster::Commands::TestEmitTestFabricScopedEventResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure( + DataModelLogger::LogValue("numberOfTransitionsForSequence", indent + 1, value.numberOfTransitionsForSequence)); + ReturnErrorOnFailure(DataModelLogger::LogValue("dayOfWeekForSequence", indent + 1, value.dayOfWeekForSequence)); + ReturnErrorOnFailure(DataModelLogger::LogValue("modeForSequence", indent + 1, value.modeForSequence)); + ReturnErrorOnFailure(DataModelLogger::LogValue("payload", indent + 1, value.payload)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Thermostat::Commands::GetRelayStatusLogResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("timeOfDay", indent + 1, value.timeOfDay)); + ReturnErrorOnFailure(DataModelLogger::LogValue("relayStatus", indent + 1, value.relayStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localTemperature", indent + 1, value.localTemperature)); + ReturnErrorOnFailure(DataModelLogger::LogValue("humidityInPercentage", indent + 1, value.humidityInPercentage)); + ReturnErrorOnFailure(DataModelLogger::LogValue("setpoint", indent + 1, value.setpoint)); + ReturnErrorOnFailure(DataModelLogger::LogValue("unreadEntries", indent + 1, value.unreadEntries)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributePath & path, chip::TLV::TLVReader * data) +{ + ChipLogProgress(chipTool, "Endpoint: %" PRIu16 " Cluster: " ChipLogFormatMEI " Attribute " ChipLogFormatMEI, path.mEndpointId, ChipLogValueMEI(path.mClusterId), ChipLogValueMEI(path.mAttributeId)); switch (path.mClusterId) @@ -3932,6 +4154,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case AccessControl::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case AccessControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -3958,6 +4185,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case AccountLogin::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case AccountLogin::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -3999,6 +4231,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case AdministratorCommissioning::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case AdministratorCommissioning::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4065,6 +4302,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ApplicationBasic::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ApplicationBasic::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4101,6 +4343,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ApplicationLauncher::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ApplicationLauncher::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4137,6 +4384,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case AudioOutput::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case AudioOutput::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4163,6 +4415,36 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("barrier capabilities", 1, value); } + case BarrierControl::Attributes::BarrierOpenEvents::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("barrier open events", 1, value); + } + case BarrierControl::Attributes::BarrierCloseEvents::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("barrier close events", 1, value); + } + case BarrierControl::Attributes::BarrierCommandOpenEvents::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("barrier command open events", 1, value); + } + case BarrierControl::Attributes::BarrierCommandCloseEvents::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("barrier command close events", 1, value); + } + case BarrierControl::Attributes::BarrierOpenPeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("barrier open period", 1, value); + } + case BarrierControl::Attributes::BarrierClosePeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("barrier close period", 1, value); + } case BarrierControl::Attributes::BarrierPosition::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4183,6 +4465,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case BarrierControl::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case BarrierControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4304,6 +4591,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case Basic::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case Basic::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4315,21 +4607,51 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case BinaryInputBasic::Id: { switch (path.mAttributeId) { + case BinaryInputBasic::Attributes::ActiveText::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active text", 1, value); + } + case BinaryInputBasic::Attributes::Description::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("description", 1, value); + } + case BinaryInputBasic::Attributes::InactiveText::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("inactive text", 1, value); + } case BinaryInputBasic::Attributes::OutOfService::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("out of service", 1, value); } + case BinaryInputBasic::Attributes::Polarity::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("polarity", 1, value); + } case BinaryInputBasic::Attributes::PresentValue::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("present value", 1, value); } + case BinaryInputBasic::Attributes::Reliability::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("reliability", 1, value); + } case BinaryInputBasic::Attributes::StatusFlags::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("status flags", 1, value); } + case BinaryInputBasic::Attributes::ApplicationType::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("application type", 1, value); + } case BinaryInputBasic::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4345,6 +4667,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case BinaryInputBasic::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case BinaryInputBasic::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4371,6 +4698,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case Binding::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case Binding::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4402,6 +4734,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case BooleanState::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case BooleanState::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4444,6 +4781,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case BridgedActions::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case BridgedActions::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4525,6 +4867,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Reachable", 1, value); } + case BridgedDeviceBasic::Attributes::UniqueID::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("UniqueID", 1, value); + } case BridgedDeviceBasic::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4540,6 +4887,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case BridgedDeviceBasic::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case BridgedDeviceBasic::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4581,6 +4933,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case Channel::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case Channel::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4867,6 +5224,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ColorControl::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ColorControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4903,6 +5265,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ContentLauncher::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ContentLauncher::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4942,230 +5309,955 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case Descriptor::Attributes::ClientGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } + case Descriptor::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case Descriptor::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case Descriptor::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case DiagnosticLogs::Id: { + switch (path.mAttributeId) + { + case DiagnosticLogs::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case DiagnosticLogs::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } + case DiagnosticLogs::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case DiagnosticLogs::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case DiagnosticLogs::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case DoorLock::Id: { + switch (path.mAttributeId) + { + case DoorLock::Attributes::LockState::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LockState", 1, value); + } + case DoorLock::Attributes::LockType::Id: { + chip::app::Clusters::DoorLock::DlLockType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LockType", 1, value); + } + case DoorLock::Attributes::ActuatorEnabled::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActuatorEnabled", 1, value); + } + case DoorLock::Attributes::DoorState::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DoorState", 1, value); + } + case DoorLock::Attributes::DoorOpenEvents::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DoorOpenEvents", 1, value); + } + case DoorLock::Attributes::DoorClosedEvents::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DoorClosedEvents", 1, value); + } + case DoorLock::Attributes::OpenPeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OpenPeriod", 1, value); + } + case DoorLock::Attributes::NumberOfLogRecordsSupported::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfLogRecordsSupported", 1, value); + } + case DoorLock::Attributes::NumberOfTotalUsersSupported::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfTotalUsersSupported", 1, value); + } + case DoorLock::Attributes::NumberOfPINUsersSupported::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfPINUsersSupported", 1, value); + } + case DoorLock::Attributes::NumberOfRFIDUsersSupported::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfRFIDUsersSupported", 1, value); + } + case DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfWeekDaySchedulesSupportedPerUser", 1, value); + } + case DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfYearDaySchedulesSupportedPerUser", 1, value); + } + case DoorLock::Attributes::NumberOfHolidaySchedulesSupported::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfHolidaySchedulesSupported", 1, value); + } + case DoorLock::Attributes::MaxPINCodeLength::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxPINCodeLength", 1, value); + } + case DoorLock::Attributes::MinPINCodeLength::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MinPINCodeLength", 1, value); + } + case DoorLock::Attributes::MaxRFIDCodeLength::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxRFIDCodeLength", 1, value); + } + case DoorLock::Attributes::MinRFIDCodeLength::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MinRFIDCodeLength", 1, value); + } + case DoorLock::Attributes::CredentialRulesSupport::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CredentialRulesSupport", 1, value); + } + case DoorLock::Attributes::EnableLogging::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnableLogging", 1, value); + } + case DoorLock::Attributes::Language::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Language", 1, value); + } + case DoorLock::Attributes::LEDSettings::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LEDSettings", 1, value); + } + case DoorLock::Attributes::AutoRelockTime::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AutoRelockTime", 1, value); + } + case DoorLock::Attributes::SoundVolume::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SoundVolume", 1, value); + } + case DoorLock::Attributes::OperatingMode::Id: { + chip::app::Clusters::DoorLock::DlOperatingMode value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperatingMode", 1, value); + } + case DoorLock::Attributes::SupportedOperatingModes::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedOperatingModes", 1, value); + } + case DoorLock::Attributes::DefaultConfigurationRegister::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultConfigurationRegister", 1, value); + } + case DoorLock::Attributes::EnableLocalProgramming::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnableLocalProgramming", 1, value); + } + case DoorLock::Attributes::EnableOneTouchLocking::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnableOneTouchLocking", 1, value); + } + case DoorLock::Attributes::EnableInsideStatusLED::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnableInsideStatusLED", 1, value); + } + case DoorLock::Attributes::EnablePrivacyModeButton::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnablePrivacyModeButton", 1, value); + } + case DoorLock::Attributes::LocalProgrammingFeatures::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LocalProgrammingFeatures", 1, value); + } + case DoorLock::Attributes::WrongCodeEntryLimit::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WrongCodeEntryLimit", 1, value); + } + case DoorLock::Attributes::UserCodeTemporaryDisableTime::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("UserCodeTemporaryDisableTime", 1, value); + } + case DoorLock::Attributes::SendPINOverTheAir::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SendPINOverTheAir", 1, value); + } + case DoorLock::Attributes::RequirePINforRemoteOperation::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RequirePINforRemoteOperation", 1, value); + } + case DoorLock::Attributes::ExpiringUserTimeout::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ExpiringUserTimeout", 1, value); + } + case DoorLock::Attributes::AlarmMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AlarmMask", 1, value); + } + case DoorLock::Attributes::KeypadOperationEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("KeypadOperationEventMask", 1, value); + } + case DoorLock::Attributes::RemoteOperationEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RemoteOperationEventMask", 1, value); + } + case DoorLock::Attributes::ManualOperationEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ManualOperationEventMask", 1, value); + } + case DoorLock::Attributes::RFIDOperationEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RFIDOperationEventMask", 1, value); + } + case DoorLock::Attributes::KeypadProgrammingEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("KeypadProgrammingEventMask", 1, value); + } + case DoorLock::Attributes::RemoteProgrammingEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RemoteProgrammingEventMask", 1, value); + } + case DoorLock::Attributes::RFIDProgrammingEventMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RFIDProgrammingEventMask", 1, value); + } + case DoorLock::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case DoorLock::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } + case DoorLock::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case DoorLock::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case DoorLock::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case ElectricalMeasurement::Id: { + switch (path.mAttributeId) + { + case ElectricalMeasurement::Attributes::MeasurementType::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measurement type", 1, value); + } + case ElectricalMeasurement::Attributes::DcVoltage::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc voltage", 1, value); + } + case ElectricalMeasurement::Attributes::DcVoltageMin::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc voltage min", 1, value); + } + case ElectricalMeasurement::Attributes::DcVoltageMax::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc voltage max", 1, value); + } + case ElectricalMeasurement::Attributes::DcCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc current", 1, value); + } + case ElectricalMeasurement::Attributes::DcCurrentMin::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc current min", 1, value); + } + case ElectricalMeasurement::Attributes::DcCurrentMax::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc current max", 1, value); + } + case ElectricalMeasurement::Attributes::DcPower::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc power", 1, value); + } + case ElectricalMeasurement::Attributes::DcPowerMin::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc power min", 1, value); + } + case ElectricalMeasurement::Attributes::DcPowerMax::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc power max", 1, value); + } + case ElectricalMeasurement::Attributes::DcVoltageMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc voltage multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::DcVoltageDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc voltage divisor", 1, value); + } + case ElectricalMeasurement::Attributes::DcCurrentMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc current multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::DcCurrentDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc current divisor", 1, value); + } + case ElectricalMeasurement::Attributes::DcPowerMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc power multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::DcPowerDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("dc power divisor", 1, value); + } + case ElectricalMeasurement::Attributes::AcFrequency::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac frequency", 1, value); + } + case ElectricalMeasurement::Attributes::AcFrequencyMin::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac frequency min", 1, value); + } + case ElectricalMeasurement::Attributes::AcFrequencyMax::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac frequency max", 1, value); + } + case ElectricalMeasurement::Attributes::NeutralCurrent::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("neutral current", 1, value); + } + case ElectricalMeasurement::Attributes::TotalActivePower::Id: { + int32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("total active power", 1, value); + } + case ElectricalMeasurement::Attributes::TotalReactivePower::Id: { + int32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("total reactive power", 1, value); + } + case ElectricalMeasurement::Attributes::TotalApparentPower::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("total apparent power", 1, value); + } + case ElectricalMeasurement::Attributes::Measured1stHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured 1st harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::Measured3rdHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured 3rd harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::Measured5thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured 5th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::Measured7thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured 7th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::Measured9thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured 9th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::Measured11thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured 11th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::MeasuredPhase1stHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured phase 1st harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::MeasuredPhase3rdHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured phase 3rd harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::MeasuredPhase5thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured phase 5th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::MeasuredPhase7thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured phase 7th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::MeasuredPhase9thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured phase 9th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::MeasuredPhase11thHarmonicCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("measured phase 11th harmonic current", 1, value); + } + case ElectricalMeasurement::Attributes::AcFrequencyMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac frequency multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::AcFrequencyDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac frequency divisor", 1, value); + } + case ElectricalMeasurement::Attributes::PowerMultiplier::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("power multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::PowerDivisor::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("power divisor", 1, value); + } + case ElectricalMeasurement::Attributes::HarmonicCurrentMultiplier::Id: { + int8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("harmonic current multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::PhaseHarmonicCurrentMultiplier::Id: { + int8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("phase harmonic current multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::InstantaneousVoltage::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("instantaneous voltage", 1, value); + } + case ElectricalMeasurement::Attributes::InstantaneousLineCurrent::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("instantaneous line current", 1, value); + } + case ElectricalMeasurement::Attributes::InstantaneousActiveCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("instantaneous active current", 1, value); + } + case ElectricalMeasurement::Attributes::InstantaneousReactiveCurrent::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("instantaneous reactive current", 1, value); + } + case ElectricalMeasurement::Attributes::InstantaneousPower::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("instantaneous power", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltage::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltageMin::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage min", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltageMax::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage max", 1, value); + } + case ElectricalMeasurement::Attributes::RmsCurrent::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms current", 1, value); + } + case ElectricalMeasurement::Attributes::RmsCurrentMin::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms current min", 1, value); + } + case ElectricalMeasurement::Attributes::RmsCurrentMax::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms current max", 1, value); + } + case ElectricalMeasurement::Attributes::ActivePower::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active power", 1, value); + } + case ElectricalMeasurement::Attributes::ActivePowerMin::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active power min", 1, value); + } + case ElectricalMeasurement::Attributes::ActivePowerMax::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active power max", 1, value); + } + case ElectricalMeasurement::Attributes::ReactivePower::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("reactive power", 1, value); + } + case ElectricalMeasurement::Attributes::ApparentPower::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("apparent power", 1, value); + } + case ElectricalMeasurement::Attributes::PowerFactor::Id: { + int8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("power factor", 1, value); + } + case ElectricalMeasurement::Attributes::AverageRmsVoltageMeasurementPeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("average rms voltage measurement period", 1, value); + } + case ElectricalMeasurement::Attributes::AverageRmsUnderVoltageCounter::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("average rms under voltage counter", 1, value); + } + case ElectricalMeasurement::Attributes::RmsExtremeOverVoltagePeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms extreme over voltage period", 1, value); + } + case ElectricalMeasurement::Attributes::RmsExtremeUnderVoltagePeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms extreme under voltage period", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltageSagPeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage sag period", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltageSwellPeriod::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage swell period", 1, value); + } + case ElectricalMeasurement::Attributes::AcVoltageMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac voltage multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::AcVoltageDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac voltage divisor", 1, value); + } + case ElectricalMeasurement::Attributes::AcCurrentMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac current multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::AcCurrentDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac current divisor", 1, value); + } + case ElectricalMeasurement::Attributes::AcPowerMultiplier::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac power multiplier", 1, value); + } + case ElectricalMeasurement::Attributes::AcPowerDivisor::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac power divisor", 1, value); + } + case ElectricalMeasurement::Attributes::OverloadAlarmsMask::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("overload alarms mask", 1, value); + } + case ElectricalMeasurement::Attributes::VoltageOverload::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("voltage overload", 1, value); + } + case ElectricalMeasurement::Attributes::CurrentOverload::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("current overload", 1, value); + } + case ElectricalMeasurement::Attributes::AcOverloadAlarmsMask::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac overload alarms mask", 1, value); + } + case ElectricalMeasurement::Attributes::AcVoltageOverload::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac voltage overload", 1, value); + } + case ElectricalMeasurement::Attributes::AcCurrentOverload::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac current overload", 1, value); + } + case ElectricalMeasurement::Attributes::AcActivePowerOverload::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac active power overload", 1, value); + } + case ElectricalMeasurement::Attributes::AcReactivePowerOverload::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac reactive power overload", 1, value); + } + case ElectricalMeasurement::Attributes::AverageRmsOverVoltage::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("average rms over voltage", 1, value); + } + case ElectricalMeasurement::Attributes::AverageRmsUnderVoltage::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("average rms under voltage", 1, value); + } + case ElectricalMeasurement::Attributes::RmsExtremeOverVoltage::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms extreme over voltage", 1, value); + } + case ElectricalMeasurement::Attributes::RmsExtremeUnderVoltage::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms extreme under voltage", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltageSag::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage sag", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltageSwell::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage swell", 1, value); + } + case ElectricalMeasurement::Attributes::LineCurrentPhaseB::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("line current phase b", 1, value); + } + case ElectricalMeasurement::Attributes::ActiveCurrentPhaseB::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active current phase b", 1, value); + } + case ElectricalMeasurement::Attributes::ReactiveCurrentPhaseB::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("reactive current phase b", 1, value); + } + case ElectricalMeasurement::Attributes::RmsVoltagePhaseB::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms voltage phase b", 1, value); } - case Descriptor::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::RmsVoltageMinPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AttributeList", 1, value); + return DataModelLogger::LogValue("rms voltage min phase b", 1, value); } - case Descriptor::Attributes::ClusterRevision::Id: { + case ElectricalMeasurement::Attributes::RmsVoltageMaxPhaseB::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("rms voltage max phase b", 1, value); } + case ElectricalMeasurement::Attributes::RmsCurrentPhaseB::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("rms current phase b", 1, value); } - break; - } - case DiagnosticLogs::Id: { - switch (path.mAttributeId) - { - case DiagnosticLogs::Attributes::ServerGeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::RmsCurrentMinPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + return DataModelLogger::LogValue("rms current min phase b", 1, value); } - case DiagnosticLogs::Attributes::ClientGeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::RmsCurrentMaxPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + return DataModelLogger::LogValue("rms current max phase b", 1, value); } - case DiagnosticLogs::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::ActivePowerPhaseB::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AttributeList", 1, value); + return DataModelLogger::LogValue("active power phase b", 1, value); } + case ElectricalMeasurement::Attributes::ActivePowerMinPhaseB::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active power min phase b", 1, value); } - break; - } - case DoorLock::Id: { - switch (path.mAttributeId) - { - case DoorLock::Attributes::LockState::Id: { - chip::app::DataModel::Nullable value; + case ElectricalMeasurement::Attributes::ActivePowerMaxPhaseB::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LockState", 1, value); + return DataModelLogger::LogValue("active power max phase b", 1, value); } - case DoorLock::Attributes::LockType::Id: { - chip::app::Clusters::DoorLock::DlLockType value; + case ElectricalMeasurement::Attributes::ReactivePowerPhaseB::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LockType", 1, value); + return DataModelLogger::LogValue("reactive power phase b", 1, value); } - case DoorLock::Attributes::ActuatorEnabled::Id: { - bool value; + case ElectricalMeasurement::Attributes::ApparentPowerPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActuatorEnabled", 1, value); + return DataModelLogger::LogValue("apparent power phase b", 1, value); } - case DoorLock::Attributes::DoorState::Id: { - chip::app::DataModel::Nullable value; + case ElectricalMeasurement::Attributes::PowerFactorPhaseB::Id: { + int8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DoorState", 1, value); + return DataModelLogger::LogValue("power factor phase b", 1, value); } - case DoorLock::Attributes::NumberOfTotalUsersSupported::Id: { + case ElectricalMeasurement::Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfTotalUsersSupported", 1, value); + return DataModelLogger::LogValue("average rms voltage measurement period phase b", 1, value); } - case DoorLock::Attributes::NumberOfPINUsersSupported::Id: { + case ElectricalMeasurement::Attributes::AverageRmsOverVoltageCounterPhaseB::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfPINUsersSupported", 1, value); + return DataModelLogger::LogValue("average rms over voltage counter phase b", 1, value); } - case DoorLock::Attributes::NumberOfRFIDUsersSupported::Id: { + case ElectricalMeasurement::Attributes::AverageRmsUnderVoltageCounterPhaseB::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfRFIDUsersSupported", 1, value); + return DataModelLogger::LogValue("average rms under voltage counter phase b", 1, value); } - case DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfWeekDaySchedulesSupportedPerUser", 1, value); + return DataModelLogger::LogValue("rms extreme over voltage period phase b", 1, value); } - case DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfYearDaySchedulesSupportedPerUser", 1, value); + return DataModelLogger::LogValue("rms extreme under voltage period phase b", 1, value); } - case DoorLock::Attributes::MaxPINCodeLength::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::RmsVoltageSagPeriodPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxPINCodeLength", 1, value); + return DataModelLogger::LogValue("rms voltage sag period phase b", 1, value); } - case DoorLock::Attributes::MinPINCodeLength::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::RmsVoltageSwellPeriodPhaseB::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinPINCodeLength", 1, value); + return DataModelLogger::LogValue("rms voltage swell period phase b", 1, value); } - case DoorLock::Attributes::MaxRFIDCodeLength::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::LineCurrentPhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxRFIDCodeLength", 1, value); + return DataModelLogger::LogValue("line current phase c", 1, value); } - case DoorLock::Attributes::MinRFIDCodeLength::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::ActiveCurrentPhaseC::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinRFIDCodeLength", 1, value); + return DataModelLogger::LogValue("active current phase c", 1, value); } - case DoorLock::Attributes::Language::Id: { - chip::CharSpan value; + case ElectricalMeasurement::Attributes::ReactiveCurrentPhaseC::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Language", 1, value); + return DataModelLogger::LogValue("reactive current phase c", 1, value); } - case DoorLock::Attributes::AutoRelockTime::Id: { - uint32_t value; + case ElectricalMeasurement::Attributes::RmsVoltagePhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AutoRelockTime", 1, value); + return DataModelLogger::LogValue("rms voltage phase c", 1, value); } - case DoorLock::Attributes::SoundVolume::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::RmsVoltageMinPhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SoundVolume", 1, value); + return DataModelLogger::LogValue("rms voltage min phase c", 1, value); } - case DoorLock::Attributes::OperatingMode::Id: { - chip::app::Clusters::DoorLock::DlOperatingMode value; + case ElectricalMeasurement::Attributes::RmsVoltageMaxPhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperatingMode", 1, value); + return DataModelLogger::LogValue("rms voltage max phase c", 1, value); } - case DoorLock::Attributes::SupportedOperatingModes::Id: { + case ElectricalMeasurement::Attributes::RmsCurrentPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedOperatingModes", 1, value); + return DataModelLogger::LogValue("rms current phase c", 1, value); } - case DoorLock::Attributes::EnableOneTouchLocking::Id: { - bool value; + case ElectricalMeasurement::Attributes::RmsCurrentMinPhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnableOneTouchLocking", 1, value); + return DataModelLogger::LogValue("rms current min phase c", 1, value); } - case DoorLock::Attributes::EnablePrivacyModeButton::Id: { - bool value; + case ElectricalMeasurement::Attributes::RmsCurrentMaxPhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnablePrivacyModeButton", 1, value); + return DataModelLogger::LogValue("rms current max phase c", 1, value); } - case DoorLock::Attributes::WrongCodeEntryLimit::Id: { - uint8_t value; + case ElectricalMeasurement::Attributes::ActivePowerPhaseC::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WrongCodeEntryLimit", 1, value); + return DataModelLogger::LogValue("active power phase c", 1, value); } - case DoorLock::Attributes::ServerGeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::ActivePowerMinPhaseC::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + return DataModelLogger::LogValue("active power min phase c", 1, value); } - case DoorLock::Attributes::ClientGeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::ActivePowerMaxPhaseC::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + return DataModelLogger::LogValue("active power max phase c", 1, value); } - case DoorLock::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalMeasurement::Attributes::ReactivePowerPhaseC::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AttributeList", 1, value); + return DataModelLogger::LogValue("reactive power phase c", 1, value); } - case DoorLock::Attributes::ClusterRevision::Id: { + case ElectricalMeasurement::Attributes::ApparentPowerPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } - } - break; - } - case ElectricalMeasurement::Id: { - switch (path.mAttributeId) - { - case ElectricalMeasurement::Attributes::MeasurementType::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("measurement type", 1, value); + return DataModelLogger::LogValue("apparent power phase c", 1, value); } - case ElectricalMeasurement::Attributes::TotalActivePower::Id: { - int32_t value; + case ElectricalMeasurement::Attributes::PowerFactorPhaseC::Id: { + int8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("total active power", 1, value); + return DataModelLogger::LogValue("power factor phase c", 1, value); } - case ElectricalMeasurement::Attributes::RmsVoltage::Id: { + case ElectricalMeasurement::Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rms voltage", 1, value); + return DataModelLogger::LogValue("average rms voltage measurement period phase c", 1, value); } - case ElectricalMeasurement::Attributes::RmsVoltageMin::Id: { + case ElectricalMeasurement::Attributes::AverageRmsOverVoltageCounterPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rms voltage min", 1, value); + return DataModelLogger::LogValue("average rms over voltage counter phase c", 1, value); } - case ElectricalMeasurement::Attributes::RmsVoltageMax::Id: { + case ElectricalMeasurement::Attributes::AverageRmsUnderVoltageCounterPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rms voltage max", 1, value); + return DataModelLogger::LogValue("average rms under voltage counter phase c", 1, value); } - case ElectricalMeasurement::Attributes::RmsCurrent::Id: { + case ElectricalMeasurement::Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rms current", 1, value); + return DataModelLogger::LogValue("rms extreme over voltage period phase c", 1, value); } - case ElectricalMeasurement::Attributes::RmsCurrentMin::Id: { + case ElectricalMeasurement::Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rms current min", 1, value); + return DataModelLogger::LogValue("rms extreme under voltage period phase c", 1, value); } - case ElectricalMeasurement::Attributes::RmsCurrentMax::Id: { + case ElectricalMeasurement::Attributes::RmsVoltageSagPeriodPhaseC::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rms current max", 1, value); - } - case ElectricalMeasurement::Attributes::ActivePower::Id: { - int16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("active power", 1, value); - } - case ElectricalMeasurement::Attributes::ActivePowerMin::Id: { - int16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("active power min", 1, value); + return DataModelLogger::LogValue("rms voltage sag period phase c", 1, value); } - case ElectricalMeasurement::Attributes::ActivePowerMax::Id: { - int16_t value; + case ElectricalMeasurement::Attributes::RmsVoltageSwellPeriodPhaseC::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("active power max", 1, value); + return DataModelLogger::LogValue("rms voltage swell period phase c", 1, value); } case ElectricalMeasurement::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -5182,6 +6274,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ElectricalMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ElectricalMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5289,6 +6386,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case FixedLabel::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case FixedLabel::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5335,6 +6437,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case FlowMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case FlowMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5381,6 +6488,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case GeneralCommissioning::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case GeneralCommissioning::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5449,6 +6561,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case GeneralDiagnostics::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case GeneralDiagnostics::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5497,6 +6614,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case GroupKeyManagement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case GroupKeyManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5528,6 +6650,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case Groups::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case Groups::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5564,6 +6691,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case Identify::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case Identify::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5615,6 +6747,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case IlluminanceMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case IlluminanceMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5641,6 +6778,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case KeypadInput::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case KeypadInput::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5773,6 +6915,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); } + case LocalizationConfiguration::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case LocalizationConfiguration::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case LocalizationConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5799,6 +6951,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case LowPower::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case LowPower::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5835,6 +6992,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case MediaInput::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case MediaInput::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5896,6 +7058,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case MediaPlayback::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case MediaPlayback::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5947,6 +7114,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ModeSelect::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ModeSelect::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6009,6 +7181,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); } + case NetworkCommissioning::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } case NetworkCommissioning::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6025,11 +7202,26 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case OtaSoftwareUpdateProvider::Id: { switch (path.mAttributeId) { + case OtaSoftwareUpdateProvider::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case OtaSoftwareUpdateProvider::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } case OtaSoftwareUpdateProvider::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case OtaSoftwareUpdateProvider::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case OtaSoftwareUpdateProvider::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6063,11 +7255,26 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("UpdateStateProgress", 1, value); } + case OtaSoftwareUpdateRequestor::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case OtaSoftwareUpdateRequestor::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } case OtaSoftwareUpdateRequestor::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case OtaSoftwareUpdateRequestor::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6094,6 +7301,51 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("occupancy sensor type bitmap", 1, value); } + case OccupancySensing::Attributes::PirOccupiedToUnoccupiedDelay::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PIR occupied to unoccupied delay", 1, value); + } + case OccupancySensing::Attributes::PirUnoccupiedToOccupiedDelay::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PIR unoccupied to occupied delay", 1, value); + } + case OccupancySensing::Attributes::PirUnoccupiedToOccupiedThreshold::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PIR unoccupied to occupied threshold", 1, value); + } + case OccupancySensing::Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ultrasonic occupied to unoccupied delay", 1, value); + } + case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ultrasonic unoccupied to occupied delay", 1, value); + } + case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ultrasonic unoccupied to occupied threshold", 1, value); + } + case OccupancySensing::Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("physical contact occupied to unoccupied delay", 1, value); + } + case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("physical contact unoccupied to occupied delay", 1, value); + } + case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("physical contact unoccupied to occupied threshold", 1, value); + } case OccupancySensing::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6109,6 +7361,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case OccupancySensing::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case OccupancySensing::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6201,6 +7458,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case OnOffSwitchConfiguration::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case OnOffSwitchConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6260,6 +7522,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case OperationalCredentials::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case OperationalCredentials::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6286,6 +7553,46 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Description", 1, value); } + case PowerSource::Attributes::WiredAssessedInputVoltage::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredAssessedInputVoltage", 1, value); + } + case PowerSource::Attributes::WiredAssessedInputFrequency::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredAssessedInputFrequency", 1, value); + } + case PowerSource::Attributes::WiredCurrentType::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredCurrentType", 1, value); + } + case PowerSource::Attributes::WiredAssessedCurrent::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredAssessedCurrent", 1, value); + } + case PowerSource::Attributes::WiredNominalVoltage::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredNominalVoltage", 1, value); + } + case PowerSource::Attributes::WiredMaximumCurrent::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredMaximumCurrent", 1, value); + } + case PowerSource::Attributes::WiredPresent::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredPresent", 1, value); + } + case PowerSource::Attributes::ActiveWiredFaults::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveWiredFaults", 1, value); + } case PowerSource::Attributes::BatteryVoltage::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6306,16 +7613,86 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatteryChargeLevel", 1, value); } + case PowerSource::Attributes::BatteryReplacementNeeded::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryReplacementNeeded", 1, value); + } + case PowerSource::Attributes::BatteryReplaceability::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryReplaceability", 1, value); + } + case PowerSource::Attributes::BatteryPresent::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryPresent", 1, value); + } case PowerSource::Attributes::ActiveBatteryFaults::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveBatteryFaults", 1, value); } + case PowerSource::Attributes::BatteryReplacementDescription::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryReplacementDescription", 1, value); + } + case PowerSource::Attributes::BatteryCommonDesignation::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryCommonDesignation", 1, value); + } + case PowerSource::Attributes::BatteryANSIDesignation::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryANSIDesignation", 1, value); + } + case PowerSource::Attributes::BatteryIECDesignation::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryIECDesignation", 1, value); + } + case PowerSource::Attributes::BatteryApprovedChemistry::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryApprovedChemistry", 1, value); + } + case PowerSource::Attributes::BatteryCapacity::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryCapacity", 1, value); + } + case PowerSource::Attributes::BatteryQuantity::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryQuantity", 1, value); + } case PowerSource::Attributes::BatteryChargeState::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatteryChargeState", 1, value); } + case PowerSource::Attributes::BatteryTimeToFullCharge::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryTimeToFullCharge", 1, value); + } + case PowerSource::Attributes::BatteryFunctionalWhileCharging::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryFunctionalWhileCharging", 1, value); + } + case PowerSource::Attributes::BatteryChargingCurrent::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatteryChargingCurrent", 1, value); + } + case PowerSource::Attributes::ActiveBatteryChargeFaults::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveBatteryChargeFaults", 1, value); + } case PowerSource::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6367,6 +7744,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case PowerSourceConfiguration::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case PowerSourceConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6393,11 +7775,56 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } + case PressureMeasurement::Attributes::Tolerance::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Tolerance", 1, value); + } + case PressureMeasurement::Attributes::ScaledValue::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ScaledValue", 1, value); + } + case PressureMeasurement::Attributes::MinScaledValue::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MinScaledValue", 1, value); + } + case PressureMeasurement::Attributes::MaxScaledValue::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxScaledValue", 1, value); + } + case PressureMeasurement::Attributes::ScaledTolerance::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ScaledTolerance", 1, value); + } + case PressureMeasurement::Attributes::Scale::Id: { + int8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Scale", 1, value); + } + case PressureMeasurement::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case PressureMeasurement::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } case PressureMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case PressureMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case PressureMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6595,6 +8022,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case RelativeHumidityMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case RelativeHumidityMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6631,6 +8063,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("name support", 1, value); } + case Scenes::Attributes::LastConfiguredBy::Id: { + chip::NodeId value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("last configured by", 1, value); + } case Scenes::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6646,6 +8083,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case Scenes::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case Scenes::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6780,6 +8222,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case TargetNavigator::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case TargetNavigator::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6811,11 +8258,26 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Tolerance", 1, value); } + case TemperatureMeasurement::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case TemperatureMeasurement::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } case TemperatureMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case TemperatureMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case TemperatureMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7045,6 +8507,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("list_long_octet_string", 1, value); } + case TestCluster::Attributes::ListFabricScoped::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("list_fabric_scoped", 1, value); + } case TestCluster::Attributes::TimedWriteBoolean::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7245,6 +8712,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case TestCluster::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case TestCluster::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7261,6 +8733,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("local temperature", 1, value); } + case Thermostat::Attributes::OutdoorTemperature::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("outdoor temperature", 1, value); + } + case Thermostat::Attributes::Occupancy::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("occupancy", 1, value); + } case Thermostat::Attributes::AbsMinHeatSetpointLimit::Id: { int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7281,6 +8763,26 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("abs max cool setpoint limit", 1, value); } + case Thermostat::Attributes::PiCoolingDemand::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("pi cooling demand", 1, value); + } + case Thermostat::Attributes::PiHeatingDemand::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("pi heating demand", 1, value); + } + case Thermostat::Attributes::HvacSystemTypeConfiguration::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("HVAC system type configuration", 1, value); + } + case Thermostat::Attributes::LocalTemperatureCalibration::Id: { + int8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("local temperature calibration", 1, value); + } case Thermostat::Attributes::OccupiedCoolingSetpoint::Id: { int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7291,6 +8793,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("occupied heating setpoint", 1, value); } + case Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("unoccupied cooling setpoint", 1, value); + } + case Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("unoccupied heating setpoint", 1, value); + } case Thermostat::Attributes::MinHeatSetpointLimit::Id: { int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7309,37 +8821,137 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case Thermostat::Attributes::MaxCoolSetpointLimit::Id: { int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("max cool setpoint limit", 1, value); + return DataModelLogger::LogValue("max cool setpoint limit", 1, value); + } + case Thermostat::Attributes::MinSetpointDeadBand::Id: { + int8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("min setpoint dead band", 1, value); + } + case Thermostat::Attributes::RemoteSensing::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("remote sensing", 1, value); + } + case Thermostat::Attributes::ControlSequenceOfOperation::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("control sequence of operation", 1, value); + } + case Thermostat::Attributes::SystemMode::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("system mode", 1, value); + } + case Thermostat::Attributes::AlarmMask::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("alarm mask", 1, value); + } + case Thermostat::Attributes::ThermostatRunningMode::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("thermostat running mode", 1, value); + } + case Thermostat::Attributes::StartOfWeek::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("start of week", 1, value); + } + case Thermostat::Attributes::NumberOfWeeklyTransitions::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("number of weekly transitions", 1, value); + } + case Thermostat::Attributes::NumberOfDailyTransitions::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("number of daily transitions", 1, value); + } + case Thermostat::Attributes::TemperatureSetpointHold::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("temperature setpoint hold", 1, value); + } + case Thermostat::Attributes::TemperatureSetpointHoldDuration::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("temperature setpoint hold duration", 1, value); + } + case Thermostat::Attributes::ThermostatProgrammingOperationMode::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("thermostat programming operation mode", 1, value); + } + case Thermostat::Attributes::ThermostatRunningState::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("thermostat running state", 1, value); + } + case Thermostat::Attributes::SetpointChangeSource::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("setpoint change source", 1, value); + } + case Thermostat::Attributes::SetpointChangeAmount::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("setpoint change amount", 1, value); } - case Thermostat::Attributes::MinSetpointDeadBand::Id: { - int8_t value; + case Thermostat::Attributes::SetpointChangeSourceTimestamp::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("min setpoint dead band", 1, value); + return DataModelLogger::LogValue("setpoint change source timestamp", 1, value); } - case Thermostat::Attributes::ControlSequenceOfOperation::Id: { + case Thermostat::Attributes::AcType::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("control sequence of operation", 1, value); + return DataModelLogger::LogValue("ac type", 1, value); } - case Thermostat::Attributes::SystemMode::Id: { + case Thermostat::Attributes::AcCapacity::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac capacity", 1, value); + } + case Thermostat::Attributes::AcRefrigerantType::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("system mode", 1, value); + return DataModelLogger::LogValue("ac refrigerant type", 1, value); } - case Thermostat::Attributes::StartOfWeek::Id: { + case Thermostat::Attributes::AcCompressor::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("start of week", 1, value); + return DataModelLogger::LogValue("ac compressor", 1, value); } - case Thermostat::Attributes::NumberOfWeeklyTransitions::Id: { + case Thermostat::Attributes::AcErrorCode::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac error code", 1, value); + } + case Thermostat::Attributes::AcLouverPosition::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("number of weekly transitions", 1, value); + return DataModelLogger::LogValue("ac louver position", 1, value); } - case Thermostat::Attributes::NumberOfDailyTransitions::Id: { + case Thermostat::Attributes::AcCoilTemperature::Id: { + int16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ac coil temperature", 1, value); + } + case Thermostat::Attributes::AcCapacityFormat::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("number of daily transitions", 1, value); + return DataModelLogger::LogValue("ac capacity format", 1, value); + } + case Thermostat::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case Thermostat::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); } case Thermostat::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; @@ -7392,6 +9004,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case ThermostatUserInterfaceConfiguration::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7781,6 +9398,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); } + case TimeFormatLocalization::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case TimeFormatLocalization::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case TimeFormatLocalization::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7797,6 +9424,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TemperatureUnit", 1, value); } + case UnitLocalization::Attributes::ServerGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ServerGeneratedCommandList", 1, value); + } + case UnitLocalization::Attributes::ClientGeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); + } case UnitLocalization::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7833,6 +9470,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClientGeneratedCommandList", 1, value); } + case UserLabel::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case UserLabel::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case UserLabel::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7864,6 +9511,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } + case WakeOnLan::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } case WakeOnLan::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7976,6 +9628,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Type", 1, value); } + case WindowCovering::Attributes::PhysicalClosedLimitLift::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PhysicalClosedLimitLift", 1, value); + } + case WindowCovering::Attributes::PhysicalClosedLimitTilt::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PhysicalClosedLimitTilt", 1, value); + } case WindowCovering::Attributes::CurrentPositionLift::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7986,6 +9648,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CurrentPositionTilt", 1, value); } + case WindowCovering::Attributes::NumberOfActuationsLift::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfActuationsLift", 1, value); + } + case WindowCovering::Attributes::NumberOfActuationsTilt::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NumberOfActuationsTilt", 1, value); + } case WindowCovering::Attributes::ConfigStatus::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8161,15 +9833,20 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa case DoorLock::Id: { switch (path.mCommandId) { - case DoorLock::Commands::GetCredentialStatusResponse::Id: { - DoorLock::Commands::GetCredentialStatusResponse::DecodableType value; + case DoorLock::Commands::GetLogRecordResponse::Id: { + DoorLock::Commands::GetLogRecordResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GetCredentialStatusResponse", 1, value); + return DataModelLogger::LogValue("GetLogRecordResponse", 1, value); } - case DoorLock::Commands::GetUserResponse::Id: { - DoorLock::Commands::GetUserResponse::DecodableType value; + case DoorLock::Commands::GetPINCodeResponse::Id: { + DoorLock::Commands::GetPINCodeResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GetUserResponse", 1, value); + return DataModelLogger::LogValue("GetPINCodeResponse", 1, value); + } + case DoorLock::Commands::GetUserStatusResponse::Id: { + DoorLock::Commands::GetUserStatusResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetUserStatusResponse", 1, value); } case DoorLock::Commands::GetWeekDayScheduleResponse::Id: { DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType value; @@ -8181,11 +9858,62 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("GetYearDayScheduleResponse", 1, value); } + case DoorLock::Commands::GetHolidayScheduleResponse::Id: { + DoorLock::Commands::GetHolidayScheduleResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetHolidayScheduleResponse", 1, value); + } + case DoorLock::Commands::GetUserTypeResponse::Id: { + DoorLock::Commands::GetUserTypeResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetUserTypeResponse", 1, value); + } + case DoorLock::Commands::GetRFIDCodeResponse::Id: { + DoorLock::Commands::GetRFIDCodeResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetRFIDCodeResponse", 1, value); + } + case DoorLock::Commands::GetUserResponse::Id: { + DoorLock::Commands::GetUserResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetUserResponse", 1, value); + } + case DoorLock::Commands::OperatingEventNotification::Id: { + DoorLock::Commands::OperatingEventNotification::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperatingEventNotification", 1, value); + } + case DoorLock::Commands::ProgrammingEventNotification::Id: { + DoorLock::Commands::ProgrammingEventNotification::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ProgrammingEventNotification", 1, value); + } case DoorLock::Commands::SetCredentialResponse::Id: { DoorLock::Commands::SetCredentialResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SetCredentialResponse", 1, value); } + case DoorLock::Commands::GetCredentialStatusResponse::Id: { + DoorLock::Commands::GetCredentialStatusResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetCredentialStatusResponse", 1, value); + } + } + break; + } + case ElectricalMeasurement::Id: { + switch (path.mCommandId) + { + case ElectricalMeasurement::Commands::GetProfileInfoResponseCommand::Id: { + ElectricalMeasurement::Commands::GetProfileInfoResponseCommand::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetProfileInfoResponseCommand", 1, value); + } + case ElectricalMeasurement::Commands::GetMeasurementProfileResponseCommand::Id: { + ElectricalMeasurement::Commands::GetMeasurementProfileResponseCommand::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetMeasurementProfileResponseCommand", 1, value); + } } break; } @@ -8197,32 +9925,32 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ArmFailSafeResponse", 1, value); } - case GeneralCommissioning::Commands::CommissioningCompleteResponse::Id: { - GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CommissioningCompleteResponse", 1, value); - } case GeneralCommissioning::Commands::SetRegulatoryConfigResponse::Id: { GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SetRegulatoryConfigResponse", 1, value); } + case GeneralCommissioning::Commands::CommissioningCompleteResponse::Id: { + GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CommissioningCompleteResponse", 1, value); + } } break; } case GroupKeyManagement::Id: { switch (path.mCommandId) { - case GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::Id: { - GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("KeySetReadAllIndicesResponse", 1, value); - } case GroupKeyManagement::Commands::KeySetReadResponse::Id: { GroupKeyManagement::Commands::KeySetReadResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("KeySetReadResponse", 1, value); } + case GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::Id: { + GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("KeySetReadAllIndicesResponse", 1, value); + } } break; } @@ -8234,6 +9962,11 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AddGroupResponse", 1, value); } + case Groups::Commands::ViewGroupResponse::Id: { + Groups::Commands::ViewGroupResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ViewGroupResponse", 1, value); + } case Groups::Commands::GetGroupMembershipResponse::Id: { Groups::Commands::GetGroupMembershipResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8244,11 +9977,6 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("RemoveGroupResponse", 1, value); } - case Groups::Commands::ViewGroupResponse::Id: { - Groups::Commands::ViewGroupResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ViewGroupResponse", 1, value); - } } break; } @@ -8288,20 +10016,20 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa case NetworkCommissioning::Id: { switch (path.mCommandId) { - case NetworkCommissioning::Commands::ConnectNetworkResponse::Id: { - NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType value; + case NetworkCommissioning::Commands::ScanNetworksResponse::Id: { + NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ConnectNetworkResponse", 1, value); + return DataModelLogger::LogValue("ScanNetworksResponse", 1, value); } case NetworkCommissioning::Commands::NetworkConfigResponse::Id: { NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("NetworkConfigResponse", 1, value); } - case NetworkCommissioning::Commands::ScanNetworksResponse::Id: { - NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType value; + case NetworkCommissioning::Commands::ConnectNetworkResponse::Id: { + NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScanNetworksResponse", 1, value); + return DataModelLogger::LogValue("ConnectNetworkResponse", 1, value); } } break; @@ -8309,16 +10037,16 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa case OtaSoftwareUpdateProvider::Id: { switch (path.mCommandId) { - case OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::Id: { - OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ApplyUpdateResponse", 1, value); - } case OtaSoftwareUpdateProvider::Commands::QueryImageResponse::Id: { OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("QueryImageResponse", 1, value); } + case OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::Id: { + OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ApplyUpdateResponse", 1, value); + } } break; } @@ -8330,16 +10058,16 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttestationResponse", 1, value); } - case OperationalCredentials::Commands::CSRResponse::Id: { - OperationalCredentials::Commands::CSRResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CSRResponse", 1, value); - } case OperationalCredentials::Commands::CertificateChainResponse::Id: { OperationalCredentials::Commands::CertificateChainResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CertificateChainResponse", 1, value); } + case OperationalCredentials::Commands::CSRResponse::Id: { + OperationalCredentials::Commands::CSRResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CSRResponse", 1, value); + } case OperationalCredentials::Commands::NOCResponse::Id: { OperationalCredentials::Commands::NOCResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8356,30 +10084,45 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AddSceneResponse", 1, value); } - case Scenes::Commands::GetSceneMembershipResponse::Id: { - Scenes::Commands::GetSceneMembershipResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GetSceneMembershipResponse", 1, value); - } - case Scenes::Commands::RemoveAllScenesResponse::Id: { - Scenes::Commands::RemoveAllScenesResponse::DecodableType value; + case Scenes::Commands::ViewSceneResponse::Id: { + Scenes::Commands::ViewSceneResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RemoveAllScenesResponse", 1, value); + return DataModelLogger::LogValue("ViewSceneResponse", 1, value); } case Scenes::Commands::RemoveSceneResponse::Id: { Scenes::Commands::RemoveSceneResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("RemoveSceneResponse", 1, value); } + case Scenes::Commands::RemoveAllScenesResponse::Id: { + Scenes::Commands::RemoveAllScenesResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RemoveAllScenesResponse", 1, value); + } case Scenes::Commands::StoreSceneResponse::Id: { Scenes::Commands::StoreSceneResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("StoreSceneResponse", 1, value); } - case Scenes::Commands::ViewSceneResponse::Id: { - Scenes::Commands::ViewSceneResponse::DecodableType value; + case Scenes::Commands::GetSceneMembershipResponse::Id: { + Scenes::Commands::GetSceneMembershipResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ViewSceneResponse", 1, value); + return DataModelLogger::LogValue("GetSceneMembershipResponse", 1, value); + } + case Scenes::Commands::EnhancedAddSceneResponse::Id: { + Scenes::Commands::EnhancedAddSceneResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnhancedAddSceneResponse", 1, value); + } + case Scenes::Commands::EnhancedViewSceneResponse::Id: { + Scenes::Commands::EnhancedViewSceneResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnhancedViewSceneResponse", 1, value); + } + case Scenes::Commands::CopySceneResponse::Id: { + Scenes::Commands::CopySceneResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CopySceneResponse", 1, value); } } break; @@ -8398,45 +10141,65 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa case TestCluster::Id: { switch (path.mCommandId) { - case TestCluster::Commands::BooleanResponse::Id: { - TestCluster::Commands::BooleanResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BooleanResponse", 1, value); - } - case TestCluster::Commands::SimpleStructResponse::Id: { - TestCluster::Commands::SimpleStructResponse::DecodableType value; + case TestCluster::Commands::TestSpecificResponse::Id: { + TestCluster::Commands::TestSpecificResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SimpleStructResponse", 1, value); + return DataModelLogger::LogValue("TestSpecificResponse", 1, value); } case TestCluster::Commands::TestAddArgumentsResponse::Id: { TestCluster::Commands::TestAddArgumentsResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TestAddArgumentsResponse", 1, value); } - case TestCluster::Commands::TestEmitTestEventResponse::Id: { - TestCluster::Commands::TestEmitTestEventResponse::DecodableType value; + case TestCluster::Commands::TestSimpleArgumentResponse::Id: { + TestCluster::Commands::TestSimpleArgumentResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TestEmitTestEventResponse", 1, value); + return DataModelLogger::LogValue("TestSimpleArgumentResponse", 1, value); } - case TestCluster::Commands::TestEnumsResponse::Id: { - TestCluster::Commands::TestEnumsResponse::DecodableType value; + case TestCluster::Commands::TestStructArrayArgumentResponse::Id: { + TestCluster::Commands::TestStructArrayArgumentResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TestEnumsResponse", 1, value); + return DataModelLogger::LogValue("TestStructArrayArgumentResponse", 1, value); } case TestCluster::Commands::TestListInt8UReverseResponse::Id: { TestCluster::Commands::TestListInt8UReverseResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TestListInt8UReverseResponse", 1, value); } + case TestCluster::Commands::TestEnumsResponse::Id: { + TestCluster::Commands::TestEnumsResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("TestEnumsResponse", 1, value); + } case TestCluster::Commands::TestNullableOptionalResponse::Id: { TestCluster::Commands::TestNullableOptionalResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TestNullableOptionalResponse", 1, value); } - case TestCluster::Commands::TestSpecificResponse::Id: { - TestCluster::Commands::TestSpecificResponse::DecodableType value; + case TestCluster::Commands::TestComplexNullableOptionalResponse::Id: { + TestCluster::Commands::TestComplexNullableOptionalResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TestSpecificResponse", 1, value); + return DataModelLogger::LogValue("TestComplexNullableOptionalResponse", 1, value); + } + case TestCluster::Commands::BooleanResponse::Id: { + TestCluster::Commands::BooleanResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BooleanResponse", 1, value); + } + case TestCluster::Commands::SimpleStructResponse::Id: { + TestCluster::Commands::SimpleStructResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SimpleStructResponse", 1, value); + } + case TestCluster::Commands::TestEmitTestEventResponse::Id: { + TestCluster::Commands::TestEmitTestEventResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("TestEmitTestEventResponse", 1, value); + } + case TestCluster::Commands::TestEmitTestFabricScopedEventResponse::Id: { + TestCluster::Commands::TestEmitTestFabricScopedEventResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("TestEmitTestFabricScopedEventResponse", 1, value); } } break; @@ -8444,16 +10207,16 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa case Thermostat::Id: { switch (path.mCommandId) { - case Thermostat::Commands::GetRelayStatusLogResponse::Id: { - Thermostat::Commands::GetRelayStatusLogResponse::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GetRelayStatusLogResponse", 1, value); - } case Thermostat::Commands::GetWeeklyScheduleResponse::Id: { Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("GetWeeklyScheduleResponse", 1, value); } + case Thermostat::Commands::GetRelayStatusLogResponse::Id: { + Thermostat::Commands::GetRelayStatusLogResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GetRelayStatusLogResponse", 1, value); + } } break; } diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h index 3431a1f14e0d37..73b442a5b3df82 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -269,95 +269,134 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::DoorLock::Commands::GetCredentialStatusResponse::DecodableType & value); + const chip::app::Clusters::DoorLock::Commands::GetLogRecordResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::DoorLock::Commands::GetUserResponse::DecodableType & value); + const chip::app::Clusters::DoorLock::Commands::GetPINCodeResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::GetUserStatusResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Commands::GetYearDayScheduleResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::GetHolidayScheduleResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::GetUserTypeResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::GetRFIDCodeResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::GetUserResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::OperatingEventNotification::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Commands::ProgrammingEventNotification::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Commands::SetCredentialResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType & value); + const chip::app::Clusters::DoorLock::Commands::GetCredentialStatusResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType & value); + const chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoResponseCommand::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileResponseCommand::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType & value); + const chip::app::Clusters::GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Groups::Commands::AddGroupResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::Groups::Commands::ViewGroupResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Groups::Commands::GetGroupMembershipResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Groups::Commands::RemoveGroupResponse::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Groups::Commands::ViewGroupResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Identify::Commands::IdentifyQueryResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::KeypadInput::Commands::SendKeyResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType & value); -static CHIP_ERROR -LogValue(const char * label, size_t indent, - const chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType & value); + const chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OperationalCredentials::Commands::AttestationResponse::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::OperationalCredentials::Commands::CSRResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OperationalCredentials::Commands::CertificateChainResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::OperationalCredentials::Commands::CSRResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Commands::AddSceneResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Scenes::Commands::GetSceneMembershipResponse::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Scenes::Commands::RemoveAllScenesResponse::DecodableType & value); + const chip::app::Clusters::Scenes::Commands::ViewSceneResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Commands::RemoveSceneResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::Scenes::Commands::RemoveAllScenesResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Commands::StoreSceneResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Scenes::Commands::ViewSceneResponse::DecodableType & value); + const chip::app::Clusters::Scenes::Commands::GetSceneMembershipResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TargetNavigator::Commands::NavigateTargetResponse::DecodableType & value); + const chip::app::Clusters::Scenes::Commands::EnhancedAddSceneResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType & value); + const chip::app::Clusters::Scenes::Commands::EnhancedViewSceneResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TestCluster::Commands::SimpleStructResponse::DecodableType & value); + const chip::app::Clusters::Scenes::Commands::CopySceneResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TestCluster::Commands::TestAddArgumentsResponse::DecodableType & value); + const chip::app::Clusters::TargetNavigator::Commands::NavigateTargetResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TestCluster::Commands::TestEmitTestEventResponse::DecodableType & value); + const chip::app::Clusters::TestCluster::Commands::TestSpecificResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType & value); + const chip::app::Clusters::TestCluster::Commands::TestAddArgumentsResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::TestCluster::Commands::TestSimpleArgumentResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::TestCluster::Commands::TestStructArrayArgumentResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::TestCluster::Commands::TestNullableOptionalResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::TestCluster::Commands::TestComplexNullableOptionalResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TestCluster::Commands::TestSpecificResponse::DecodableType & value); + const chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Thermostat::Commands::GetRelayStatusLogResponse::DecodableType & value); + const chip::app::Clusters::TestCluster::Commands::SimpleStructResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::TestCluster::Commands::TestEmitTestEventResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::TestCluster::Commands::TestEmitTestFabricScopedEventResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::Thermostat::Commands::GetRelayStatusLogResponse::DecodableType & value);